エクセルVBA:2重ループを使ったセルへの値の入力
コード
Sub DoubleLoopExample()
Dim i As Long
Dim j As Long
Dim rowCount As Long
Dim colCount As Long
' 何らかのデータが入っている範囲を指定してください
rowCount = 10 ' 行数
colCount = 5 ' 列数
' 2重ループでセルに値を入力する例
For i = 1 To rowCount
For j = 1 To colCount
' ここにセルに入力する処理を書いてください
' 例えば、A1から順に1, 2, 3, ...と値を入力する場合:
' Cells(i, j).Value = (i - 1) * colCount + j
Next j
Next i
End Sub
上記のコードは、Excel VBAで2重ループを使用してセルに値を入力する例です。このコードを解説してみましょう。
変数の宣言と初期化:
i
とj
はループ変数で、行と列のインデックスを表します。rowCount
とcolCount
は行数と列数を指定する変数です。この例ではそれぞれ10と5に設定されています。
2重ループの開始:
For i = 1 To rowCount
で行のループを開始します。- 内側のループ
For j = 1 To colCount
で列のループを開始します。
セルに値を入力:
Cells(i, j).Value = (i - 1) * colCount + j
の部分で、セルに値を入力しています。この式は、行と列のインデックスからセルの値を計算しています。
ループの終了:
- 内側のループが終了したら、外側のループが次の行に進みます。
- すべての行と列に対して同様の操作が繰り返されます。
このコードは、特定の範囲のセルに順番に値を入力するための基本的な例です。実際のアプリケーションでは、セルの値を計算したり、条件に基づいて値を設定したりすることができます。