Excel VBAでセルに値が入力されいる
最終行が何番目にあるかを確認します。
最終行を取得する
上から最終行を選択
1 2 3 |
Sub Test() Range("A1").End(xlDown).Select End Sub |
セルA1から数えて一番下にあるセルを選択します。
左から最終列を選択
1 2 3 4 |
Sub Test() Range("A1").End(xlToRight).Select ' Range("A1").End(xlToLeft).Select 右から左端のセルを選択 End Sub |
セルA1から数えて右端にあるセルを選択します。
実務ではそれほどありませんが、右から数えて左端のセルを選択する場合はコードの2行目で可能です。
下(最終行)から値が入力されている最終行を選択
1 2 3 |
Sub Test() Cells(Rows.Count, 1).End(xlUp).Select End Sub |
Rows.Countでシートの最終行のことです。一番下からセルが入力されている最終行まで上に向かっていきます。
上から数えた場合、途中に空白があると最終行を取得することができません。
そのため、空白を含むデータを扱う場合は、シートの最終行から上に向かって数える必要があります。
右(最終列)から値が入力されている最終列を選択
1 2 3 |
Sub Test() Cells(1, Columns.Count).End(xlToLeft).Select End Sub |
こちらは、右から最終列を調べています。
空白が含まれている場合に、シートの最終列から左に向かって値が入力されている最終列を取得します。
まとめ
最終行・列の取得方法はそのまま暗記してしまっても良いほどに重要です。
1 2 3 4 5 6 7 8 9 |
Sub Test() Range("A1").End(xlDown).Select '上から下端を調べる Range("A1").End(xlUp).Select '下から上端を調べる Range("A1").End(xlToRight).Select '左から右端を調べる Range("A1").End(xlToLeft).Select '右から左端を調べる -----------データに空白がある場合------------ Cells(Rows.Count,1).End(xlUp).Select 'シートの最終行(下から上へ向かって調べる) Cells(1, Columns.Count).End(xlToLeft).Select 'シートの最終列(右から左へ向かって調べる) End Sub |
最終行・最終列を取得したら、次はその行まで繰り返し処理をすることが多いです。
繰り返し処理を行うには、値が入力されている最終セルの行・列番号を取得することができると格段に楽になります。
セルの行・列番号の取得方法はこちらです。
コメント