※当サイトの一部記事には広告を含みます。
うさねこ気まぐれ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
    

免責事項

本記事のサンプルプログラムは、学習・参考用として掲載しているもので、動作や結果を保証するものではありません。 利用する場合は、ご自身の環境に合わせて確認しながらお使いください。万が一トラブルや損害が発生した場合でも、当サイトでは責任を負いかねます。


広告
プレミアムプラン ふるさと納税

※本文中に記載の会社名・製品名・サービス名・ゲームタイトル名等は、各社の商標または登録商標であり、権利は各社に帰属します。

※サンプルはテストを行っていますが、すべての環境での動作を保証するものではありません。ご利用は自己責任でお願いいたします。

※本記事の仕様・価格・対応状況等は執筆時点で確認できた情報をもとに掲載しています。最新の情報はメーカー公式サイトをご確認ください。

※当サイトでは一部の記事において、アイキャッチ画像にAI生成を使用しています。