【VBA】最終行と最終列を取得する

VBA
この記事は約2分で読めます。

for文などで1行目から最終行、または1列目から最終列まで連続して処理を行いたいときがあります。
この記事では最終行と最終列を取得するVBAのサンプルコードをご紹介します。

A列に5行目までデータが入力されています。
1行目にF列(6列目)までデータが入力されています。

行が非表示であったり、フィルターやグループ化されていると正確な最終行が取得できません。
正確な最終行を取得するには経理・会計事務所向けエクセルスピードアップ講座さん
「【落とし穴に注意】VBAで最終行の行番号を取得する」の「4.UsedRangeの結果に補正を加える方法」を
使用したほうが良いです。

【落とし穴に注意】VBAで最終行の行番号を取得する
VBAで最終行の行番号を取得する方法を紹介します。 最終行を取得する方法は様々なブログで紹介されています。 ところが、一般的に紹介されている方法だと、正しく最終行を取得できない場合...

最終列の取得は上記の最終行取得を応用したものになります。

GetMaxRowとGetMaxColの動作確認をしてみます。
TestGetMaxRowColを実行するとGetMaxRowとGetMaxColをそれぞれ呼び出して、テストを行います。

最初にGetMaxRowのテストを行います。
シート内の1列目(A列)のデータが入力されている最終行をメッセージボックスで表示します。

 

続いてGetMaxColのテストを行います。
シート内の1行目のデータが入力されている最終列をメッセージボックスで表示します。

 

コメント