「excel vba 最終行取得」
「エクセル vba 最終行の取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
VBA(Visual Basic for Applications)で、Excelマクロを作るときに生じる定番の疑問の一つです。
Excel VBAで最終行を取得する方法を探している方による検索です。
最終行番号を取得するサンプルコード
まずは、参考になりそうなコードをご紹介しておきます。※A列にデータが隙間なく入力されているときに最終行の行番号をメッセージボックスに表示する例
MsgBox Range("A1").End(xlDown).Row
上記のコードを実行すると、A列の最終行の行番号がメッセージボックスに表示されます。
Range("A1").End(xlDown)というコードの意味
Excelでセル選択を行うのにとても便利な[Ctrl]+矢印キーという操作があります。
Excelには、データの途切れるセルがわかっているのです。
データの途切れるセルがわかっているので[Ctrl]+矢印キーというショートカットキーで、データの途切れるセルを選択できるわけです。
そのデータの途切れるセルをVBAで取得するときに利用するのが、RangeオブジェクトのEndプロパティです。
データの途切れる箇所と一言で言っても、4方向あります。
上・下・右・左の4方向です。
どの方向のデータの途切れるセルを取得したいのかを指定するのがEndプロパティの後ろの括弧の中の引数です。
Range("A1").End(xlDown)
というコードのxlDownが下方向のデータの途切れるセルを意味しています。
右なら、xlToLeft
左なら、xlToRight
上なら、xlUp
を引数に指定してください。
A1セルから下方向のデータの途切れるセル(A列の最終セル)の、行番号を取得するためにRowプロパティを使い
Range("A1").End(xlDown).Row
というコードにしています。
上記ではメッセージボックスに行番号をいきなり表示するので
MsgBox Range("A1").End(xlDown).Row
としていますが、その行番号をプロシージャの中で使うのなら
end_row = Range("A1").End(xlDown).Row
のような形で変数に格納して使うと便利でしょう。
最終行をどうしたいのかでRange("A1").End(xlDown)の後ろは変わります
行番号を使うのではなく、
A列の一番下のセルを選択したいのならば、
Range("A1").End(xlDown).Select
最終行全体を選択したいのならば、
Range("A1").End(xlDown).EntireRow.Select
といったコードです。
もし表がB6セルから作ってあるのなら
Range("B6").End(xlDown).Row
Range("B6").End(xlDown).Select
Range("B6").End(xlDown).EntireRow.Select
といったコードです。
これが、Excel VBAで最終行を取得する基本です。
ただし、この基本で最終行を取得できないケースも表のつくり方によっては生じてしまいます。その解決方法については近日中に別記事としてご紹介します。(途中に空白セルがある場合に最終行を取得するコードをご紹介しました。2013-09-11)
Home » ExcelVBA Rangeオブジェクト » Endプロパティ » 最終行を取得するVBAのコード-End(xlDown)
- Newer:最初に学ぶべきもの、後回しでよいものがわかりよかった
- Older:光の力で消臭・抗菌 #ルネキャット 体験イベント
TrackBack:10
- TrackBack URL
- 最終行を取得する-空白セルが存在する場合 from インストラクターのネタ帳
- Excel VBAで、空白セルが存在する場合に最終行を取得するコードをご紹介しています。
- 最終列を取得するExcel VBAのコード from インストラクターのネタ帳
- データの入力されている最終列を取得するExcel(エクセル)VBAのコードをご紹介しています。
- 条件に合致した行を削除するマクロ from インストラクターのネタ帳
- ワイルドカードとOr演算子を使って条件を指定して、条件に合致した行を削除するExcel(エクセル)マクロをご紹介しています。
- 8桁の数字を日付に変換するExcelマクロ from インストラクターのネタ帳
- yyyymmdd形式の8桁の数字を日付データに変換する、Mid関数とスラッシュを使ったExcelマクロと、Format関数を使ったExcelマクロをご紹介...
- データ1件ごとにパワポのスライドにするExcelマクロ from インストラクターのネタ帳
- データごとにPowerPoint(パワーポイント)のスライドにするExcel(エクセル)マクロをご紹介しています。
- Excelのデータごとにスライドを作成するPowerPointマクロ from インストラクターのネタ帳
- アクティブなExcel(エクセル)シートの、データごと・レコードごとにスライドを作成する、PowerPoint(パワーポイント)マクロをご紹介しています。
- セル結合されているときに最終行番号を取得する from インストラクターのネタ帳
- セルが結合されているときに最終行番号を取得するExcel(エクセル)VBAのコードをご紹介しています。
- 最終行を取得するGASスクリプト from インストラクターのネタ帳
- GoogleスプレッドシートのA列でデータの入力されている最終行番号を取得するGAS(Google Apps Script)をご紹介しています。
- VBAで空白セルまでを選択する from インストラクターのネタ帳
- 対象:Excel2007, Excel2010, Excel2013, Win...
- 隣のセルの値をコピーするExcelマクロ from インストラクターのネタ帳
- 隣のセルの値をコピーするExcel(エクセル)マクロをご紹介しています。