エクセルVBAで最終行を見つける方法
Excel VBA マクロの最終行を取得
Range.End メソッドで最終行を取得可能
定数名 | 値 | 説明 |
---|---|---|
xlUp | -4162 | 上端 |
xlDown | -4121 | 下端 |
xlToLeft | -4159 | 左端 |
xlToRight | -4161 | 右端 |
End.EntireRow | 指定すると終端の行を取得できます。 |
Dim r As Range ‘セル「A1」の下端の行を取得 Set r = Range("A1").End(xlDown).EntireRow r.Select
途中の行に空白セルがある場合は上記の方法で最終行取得ができません。
この場合、空白セルの上のセルが最終行と判定されます。
こういうときはシートの最終行から上端のセルを取得します。
‘エクセルにおける最終行を取得(空白も含めて) Dim intLast As Integer intLast = Rows.Count ‘取得したい列番号を設定(A列⇒1,B列⇒2,C列⇒3,・・・E列⇒5・・・) Dim intCol As Integer intCol = 5 ‘最終行を探す(値が入っているセル) Dim r As Range Set r = Cells(intLast , intCol ).End(xlUp) r.Select