VBA:【Excel】シートの最終行と最終列の取得方法
VBAでよく使う、Excelの最終行と最終列を取得する方法についてまとめておきます。
◆最終行の取得
以下のようなシートのデータがあった場合の取得方法です。
上から空欄行の上「A4」まで取得「xlDown」
A列の「番号」に空欄があった場合、空欄より上までを最終行を取得する。
「LastRow」は「4」となります。
1 2 3 |
Dim LastRow As Long '最終行を取得' LastRow = Worksheets("データ").Cells(1, 1).End(xlDown).Row |
データの最終行「A6」を取得「Rows.Count」と「xlUp」
A列の「番号」に空欄があった場合でも、データの最終行を取得する。
「LastRow」は「6」となります。
1 2 3 |
Dim LastRow As Long '最終行を取得' LastRow = Worksheets("データ").Cells(Rows.Count, 1).End(xlUp).Row |
◆最終列の取得
以下のようなシートのデータがあった場合の取得方法です。
左から空欄行の手前「B」まで取得「xlToRight」
C列のように空欄があった場合、空欄の左「B」(2)までを最終列として取得する。
「LastCol」は「2」となります。
1 2 3 |
Dim LastCol As Long '最終列を取得' LastCol = Worksheets("データ").Cells(1, 1).End(xlToRight).Column |
データの最終列「D」を取得「Columns.Count」と「xlToLeft」
C列のように空欄があった場合でも、データの最終列「D」(4)を取得する。
「LastCol」は「4」となります。
1 2 3 |
Dim LastCol As Long '最終列を取得' LastCol = Worksheets("データ").Cells(1, Columns.Count).End(xlToLeft).Column |