VBA、UsedRangeで最終行の取得と繰り返し処理

*本サイトはアフィリエイト広告を利用しています。

当サイトにご訪問ありがとうございます。

このページは、Excel VBAの以下の内容について解説しています。

  • UsedRangeプロパティでの最終行の取得
  • 繰り返し処理
スポンサーリンク
スポンサーリンク

コーディング内容

Sub Sample1()

Dim MaxRows As Integer  '最終行
Dim i As Integer        'LOOP用

'-- 最終行を取得する
ThisWorkbook.Sheets("sheet1").Select    'シートを選択

MaxRows = ActiveSheet.UsedRange.Rows.Count  '最終行を取得する

'-- データがなければ終了
If MaxRows < 2 Then

    Exit Sub

End If

'-- 繰り返し処理
For i = 2 To MaxRows    '2行目から最終行まで繰り返し

    Debug.Print Cells(i, 2).Value   'デバッグプリントで出力

Next i

End Sub
スポンサーリンク

処理内容

  • 以下のテーブルに作成したデータを上から順番に読み込みます。
  • 出力はB列の商品コードをDebug.Printで出力します。
  • 1行目はヘッダー行なので処理対象としません。

出力データ

正しく処理されると、イミディエイトウィンドウに以下のように出力されます。

処理の解説

①最終行の取得

MaxRows = ActiveSheet.UsedRange.Rows.Count

  • 上記では「UsedRange.Rows.Count 」で行数を取得し、変数「MaxRows」に格納しています。
  • 列数を取得するには「Rows」を「Columns」変更してください。

②繰り返し処理

For i = 2 To MaxRows    ‘2行目から最終行まで繰り返し

             Debug.Print Cells(i, 2).Value   ‘デバッグプリントで出力

Next i

  • 変数「i」を使用して最終行まで繰り返し処理を行います。
  • 繰り返し中に2列目の商品コードをデバッグプリントで出力します。
タイトルとURLをコピーしました