For文について
こんにちは
今回はFor文について記載します。
For文は同じ処理を何度も繰り返すことができます。所謂ループ者ですね。(シュタゲゼロの続きが毎回気になって仕方ない私です。)
For文って何ですの?
と疑問に思ったそこのお嬢さん、For文というのは指定した回数処理を繰り返しますというものなのです。
For文を使用するに当たって変数を使用しなくてはなりません。
Sub test()
Dim i
For i = 1 To 3
MsgBox i
Next i
End Sub
Dim i
For i = 1 To 3
MsgBox i
Next i
End Sub
2行目で変数の宣言
3行目が肝の部分ですね
i=1の部分でiに1を代入、To 3の部分で、iが3を超えるまでFor ~Next iまでの処理を行いますというものです。
ちなみにiはNext iのところで+1されます。
4行目ではMsgBoxで変数iの値を表示するようになっています。
今回はiが1から始まっているため、1・2・3の順番で表示されていると思います。
では次のような式ではどうでしょうか?
Sub test()
Dim i
For i = 1 To 3 Step 2
MsgBox i
Next i
End Sub
Dim i
For i = 1 To 3 Step 2
MsgBox i
Next i
End Sub
今回はStep 2が入ってます。
これはNext iで1ずつ加算されていたiがStep 2を付け加えることで2ずつ加算されるようになっているのです。Stepには-1など負の値で処理することも可能です。
For文で変数が加算されることで次のようなプログラムを作成することも可能です。
Sub test()
Dim i, j
For i = 1 To 3
For j = 1 To 3
Cells(j, i) = i + j
Next j
Next i
End Sub
Dim i, j
For i = 1 To 3
For j = 1 To 3
Cells(j, i) = i + j
Next j
Next i
End Sub
これは変数を2つ使用したFor文です。
4行目のFor文で縦方向に3回、変数iとjの足した値を入力しています。この処理を3行目のFor文によって横方向に3回繰り返していることになります。
このようにFor文は同じ処理を何度も繰り返し実行することができ、Cells関数と組み合わせることで縦方向や横方向に様々な処理を実行することができます。