🐉

Excel VBA_最終行を取得する2つの方法

2022/12/12に公開

この記事ではExcel VBAで最終行を取得する2つご紹介します。下記の表を例に考えてみます。

セル"C3"をスタート地点として、C列(合計金額)の最終行を取得します。

Endプロパティについて

まずは基本知識についてです。RangeオブジェクトのEndプロパティによって、終端にあるセルを取得できます。Endプロパティは基準となるセルからデータが入力されているセルと空白のセルの切れ目となる終端のセルを参照します。構文はこちらです。

Rangeオブジェクト.End(設定値)

設定値には上下左右の4方向を設定することができます。

設定値 方向
xlDown 下方向の終端セル
xlUp 上方向の終端セル
xlToRight 右方向の終端セル
xlToLeft 左方向の終端セル

1、終端セルまで移動する方法

まず最も基本的な方法として、スタート地点(セル"C3")から表の1番下のセルを選択します。

Range("C3").End(xlDown).Select

もしくはCellsを使って下記のような書き方もできます。

Cells(3, 3).End(xlDown).Select

2、シートの最終行から移動する方法

1番目の方法だと表の途中で空欄があった場合、終端セルまで辿り着くことができません。そこでシートの最終行(ここでは"B1048576")に一度降りてから、上に上がるようにします。

Cells(Rows.Count, 3).End(xlUp).Select

Rows.Countはシートの行数を意味します。2007以降なら1048576です、2003なら65536です。Rowsとはシートの全行、それのCountなのでシートの最終行をカウントしてくれることになります。

最終行を取得するには他にも色々な方法がありますが、まずは基本的な2つの方法を覚えておきましょう。

Discussion