当サイトにご訪問ありがとうございます。
このページは、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列目の商品コードをデバッグプリントで出力します。