VBAで
・指定した範囲のセルの数だけ
・繰り返し処理
ができます!
VBAコード
ここでは例として
・シート「sample」上の
・セル「B3~D5」のセルの数だけ繰り返し処理
をします。
※セル「B3~D5」に設定されている値を、イミディエイトウィンドウへ出力します。
Option Explicit
Sub sample()
Dim ws As Worksheet
Dim startRange As range
Dim address As String
Dim arrAddress As Variant
Dim startColumnAlphabet As String
Dim startRow As Long
Dim endRange As range
Dim endColumnAlphabet As String
Dim endRow As Long
Dim range As range
'対象シートを指定
Set ws = Worksheets("sample")
'開始セルを指定
Set startRange = ws.range("B3")
'開始セルの「列を示すアルファベット」を取得
address = startRange.address(RowAbsolute:=True, ColumnAbsolute:=False)
arrAddress = Split(address, "$")
startColumnAlphabet = arrAddress(0)
'開始セルの「行番号」を指取得
startRow = startRange.Row
'最終セルを指定
Set endRange = ws.range("D5")
'最終セルの「列を示すアルファベット」を取得
address = endRange.address(RowAbsolute:=True, ColumnAbsolute:=False)
arrAddress = Split(address, "$")
endColumnAlphabet = arrAddress(0)
'最終セルの「行番号」を取得
endRow = endRange.Row
'指定した範囲のセルの数だけ繰り返し
For Each range In ws.range(startColumnAlphabet & startRow & ":" & endColumnAlphabet & endRow)
Debug.Print range.Value
Next
End Sub
実行結果
「指定した範囲のセルの数だけ繰り返し処理」ができました。
※セル「B3~D5」に設定されている値を、イミディエイトウィンドウへ出力できました。
参考①
上記のVBAコードは以下の記事を参考にして作成しました。
●「列を示すアルファベット」を取得
参考②
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「行番号」の取得
※「Rangeオブジェクト」の「Row」プロパティ
●For Eachステートメント
●イミディエイトウィンドウへ出力
参考③
シートの数だけ、繰り返し処理を行うこともできます。
詳細は以下の記事をご確認ください。