当ページのリンクには一部広告が含まれています。
うさねこ気まぐれPG開発室

Excel VBA 表の最終列・最終行を取得する

最終列・最終行を取得する

うさこちゃん
うさこちゃん

「E4」に空白がある場合で記載しています。
End + 上方向キー、End + 下方向キー、End + 左方向キー、End + 右方向キーのいずれかを押す操作と同等の値を取得できますので、途中に空白がある場合は注意する必要があります。

パラメーター

名前説明
xlDown-4121下へ
xlToLeft-4159左へ
xlToRight-4161右へ
xlUp-4162上へ

サンプルコード

うさこちゃん
うさこちゃん

空白行がある場合は空白の手前で判断されますので開始位置は注意が必要です。
サンプルプログラムでは
行は”4”
列は”3”

になります。

右へ

Cells(検索行, 列開始位置).End(xlToRight).Column

下へ

Cells(行開始位置,検索列 ).End(xlDown).Row

    Dim ObjThisSh  As Object
    Dim LngColMax As Long
    Dim LngRowMax As Long
    
    Set ObjThisSh = ThisWorkbook.Sheets("Sheet1")

    With ObjThisSh
        LngColMax = .Cells(4, 1).End(xlToRight).Column '開始位置 A4(4, 1)
    
        LngRowMax = .Cells(2, 5).End(xlDown).Row '開始位置 E2(2, 5)
    End With
    

サンプルコード(シートの末端から探す)

うさこちゃん
うさこちゃん

サンプルプログラムでは最終行・列から探しますでの空白がある場合には有効です。
行は”11”
列は”10”

になります。

左へ

Cells(検索行, Columns.Count).End(xlToLeft).Column

上へ

Cells(Rows.Count, 索列).End(xlUp).Row

    Dim ObjThisSh  As Object
    Dim LngColMax As Long
    Dim LngRowMax As Long
    
    Set ObjThisSh = ThisWorkbook.Sheets("Sheet1")

    With ObjThisSh
        LngColMax = .Cells(4, .Columns.Count).End(xlToLeft).Column
    
        LngRowMax = .Cells(Rows.Count, 5).End(xlUp).Row
    End With
    

免責事項

本記事のサンプルプログラムは動作・結果を保証するものではありません。 利用により発生したいかなるトラブル・損害についても、当方は責任を負いません。