Excel VBAで最終行を取得する方法【初心者向け】

※当サイトは Google Adsense、Amazon アソシエイト等 アフィリエイト広告を利用して収益を得ています。

Excel VBAで最終行を取得する

Excel VBAは、Microsoft Excelで使用できるプログラミング言語です。

Excelをより効率的に使用するためのプログラミング言語です。Excelをもっと便利に使いたい人におすすめのプログラミング言語です。Excel VBAを覚えると、Excelの作業が楽になります

具体的に出来ることは以下のとおりです。

  • Excelの操作を自動化
  • 独自の機能を作成
  • データの分析・処理
  • レポートの作成
  • フォームの作成
  • マクロの作成

このExcel VBAというカテゴリーでは、私が学んだExcel VBAのコツやテクニックを紹介していきます。
今回は、Excel VBAで、最終行を取得する方法を今回ご紹介します。

Excel VBAで最終行を取得する方法

Excel VBAで最終行を取得するコード

For文を使って、2から21行まで計算させるコードを、前回ご紹介しました(ご覧になっていない方は、こちらをクリックしてください)。

Excel VBAで最終行を取得する方法【初心者向け】

しかし、これだと行数が21行以上になった場合、全ての計算をさせることが出来ません。

毎回、最終値をその行数の数を入力してするのは面倒です。

これを解決するには、Excel VBAで最終行を取得する必要があります。

Excel VBAで最終行を取得するコードを入力すれば、常に全ての行数の計算が出来ます。

最終行の取得によく使われるコードは以下のものです。

Cells(Rows.Count, 1).End(xlUp).row

このコードの説明をします。

①Cells(Rows.Count,1).

Cellsとは、Range以外のセルの指定させるプロパティです。()内に行と列を指定します。

Cells(行.列)

例えば、A3を指定する場合は、

Cells(3.1)又は、Cells(3.”A”)

となります。

Rows.Count, 1ですが、開いているシート(アクティブシート)の最後の行の最初のセルを取得するコードです。

なお1は、1列目の意味でA列のことです。

なおA列に余計なデータが入っていると、バグが起きるので、それがないかを確認する必要があります。

②End(xlUp)

End(xlUp).Rowは、開いているシート(アクティブシート)の上方向にセルを移動し、その位置を取得するコードです。

③row

セルの行番号を取得するコードです。

と書いても初心者にはわかりにくいので、最終行を求める場合は、Cells(Rows.Count, 1).End(xlUp).rowという使うんだ程度に、コードそのものを丸暗記してください。

Excel VBAで最終行を取得するコードの使用例 

For文を使って、2から21行まで計算させるコードを、2から最終行まで計算させるコードに変更してみます。

コードは以下の通りです。

Excel VBAで最終行を取得する方法【初心者向け】

最初に変数を宣言します。今回は変数名を、最終行まで計算、にしました。

Dim 最終行まで計算 As Long

最終行まで計算という変数に、Cells(Rows.Count, 1).End(xlUp).row代入します。

最終行まで計算 = Cells(Rows.Count, 1).End(xlUp).row

前回のコードのFor i = 2 To 21の21を削除し、最終行まで計算という変数を入力します。

For i = 2 To 最終行まで計算

F5キーを押して実行すると、最終行まで計算されます。

Excel VBAで最終行を取得する方法【初心者向け】

プログラミングは1から覚えるのが理想だと思いますが、実際は、最初は意味は分からなくても、そのコードを丸暗記するか、メモ帳などに書いておきコピー・アンド・ペーストして使い回す(これをスニペットと言います)、それでも構いません。実際のプログラマーさんなども、過去に使ったコードをそのようにして使いまわしています。その方が作業効率がいいからです。特にExcel VBAは他のプログラミング言語と異なり、Excelの作業を自動化させることで効率化させる言語です。このコードは使い回せると思ったら、どんどん使いまわしていきましょう。

タイトルとURLをコピーしました