【VBA】最終行と最終列の取得方法を画像も使って徹底解説

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。
SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。
お気軽にお問い合わせください。
目次
【VBA】最終行と最終列の取得方法を画像も使って徹底解説
今回はExcel VBAを使って、最終行と最終列を取得する方法について解説します。初心者の方でも理解できるように、具体的なコード例と画像を交えて説明していきます。
なぜ最終行と最終列の取得が重要なのか?
VBAを使ってデータを操作する際、最終行や最終列の位置を知ることは非常に重要です。これにより、データの範囲を自動的に特定し、効率的なデータ処理が可能になります。
取得方法によって最終行・列が異なります。注意して使ってくださいね!
最終行を取得する方法
1. 上から下に最終行を検索する方法
まずは、上から下に検索して最終行を取得する方法です。以下のコードは、アクティブなシートの最終行を取得する例です。

上から下に最終行を検索する
Cells(1, 1).End(xlDown).Row
Sub 最終行を上から下に検索する()
Dim 最終行 As Long
最終行 = Cells(1, 1).End(xlDown).Row
MsgBox "最終行は " & 最終行 & " 行目です。"
End Sub

解説
- Cells(1, 1).End(xlDown).Row で、1列目の最初のセルから下方向に移動し、データが存在する最後のセルの行番号を取得します。
2. 下から上に最終行を検索する方法
次は、私がもっとも使う下から上へ検索し最終行を取得する方法です。

上から下に最終行を検索する
Cells(Rows.Count, 1).End(xlUp).Row
Sub 最終行を下から上に検索する()
Dim 最終行 As Long
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox "最終行は " & 最終行 & " 行目です。"
End Sub

解説
Rows.Count
はシートの総行数を取得します。Cells(Rows.Count, 1).End(xlUp).Row
で、1列目の最後のセルから上方向に移動し、データが存在する最初のセルの行番号を取得します。
最終列の取得方法
次は最終列を取得する方法です。
1. 左から右に最終列を検索する方法

上から下に最終行を検索する
Cells(1, 1).End(xlToRight).Column
Sub 最終列を左から右に検索する()
Dim 最終列 As Long
最終列 = Cells(1, 1).End(xlToRight).Column
MsgBox "最終列は " & 最終列 & " 列目です。"
End Sub

解説
- Cells(1, 1).End(xlToRight).Column で、1行目の最初のセルから右方向に移動し、データが存在する最後のセルの列番号を取得します。
2. 右から左に最終列を検索する方法

上から下に最終行を検索する
Cells(1, Columns.Count).End(xlToLeft).Column
Sub 最終列を右から左に検索する()
Dim 最終列 As Long
最終列 = Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox "最終列は " & 最終列 & " 列目です。"
End Sub

解説
Columns.Count
はシートの総列数を取得します。Cells(1, Columns.Count).End(xlToLeft).Column
で、1行目の最後のセルから左方向に移動し、データが存在する最初のセルの列番号を取得します。
記事を書いた人

稲垣
- Excel、ACCESSでのシステム開発が得意
- ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
- 自家焙煎するほどのコーヒー好き
- 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
- 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント