ステートメント
VBAにおけるステートメントとは、マクロの中で何かの働きをする命令です。条件分岐や繰り返しなど、マクロの動作を制御するものや変数宣言、ソースコードの記述を簡略化するものなど色んな命令(ステートメント)が用意されています。
For … Nextステートメント

今回はFor…Nextステートメントについて勉強しましょう。



実例とともに解説していくからね。



今回使う実例はこちらになります。Excelファイルに空のシート”Sheet1”
を準備してね!
Sub For_Next_Statement1()
Dim i As Long
For i = 1 To 3
MsgBox i
Next i
'"Sheet1"シートをアクティブにします
Worksheets("Sheet1").Activate
Cells(1, 1) = 1
For i = 2 To 10
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End Sub
For … Nextステートメントは回数を指定しその回数分繰り返し処理を行う命令です。
下記が基本書式になります。
For 変数名 = 初期値 To 終了値
処理
Next 変数
For … Nextステートメントは必ず変数を使います。
この変数の中に、初期値で指定した数値から終了値で指定した数値まで順番に格納されます。
この変数をカウンタ変数と呼ぶこともあります。
For … Nextステートメントの変数は”i”、”j”、”k”を使うことが多いです。これらの変数には数値が格納されますので型を指定するときには長整数型であるLongを指定しましょう。
Dim i As Long
For i = 1 To 3
MsgBox i
Next i
実例とともに確認していきましょう、上記コードを実行するとMsgBoxで数値”1”、”2”、”3”と表示されます。
このように変数iが1ずつ増加していくことがわかります。






次に実務でもよく使うCellsを使用したケースの動作をみていきましょう。
おさらいになりますがCellsは下記書式になります。
Cells(行,列)と考えると記憶しやすいです。
セルA1 = Cells(1,1)
セルA2 = Cells(2,1)
セルA3 = Cells(3,1)
実例とともに確認していきましょう
A2セルからA10セルまで一つ上の行の数値+1の処理をしています。
For i = 2 To 10
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
実行するとこのように数値が並ぶことが確認できますね。


実際実行すると一瞬ですが、i=2からi=10まで9回の処理が実行されています。


まとめ
今回はFor … Nextステートメントについて実例とともに勉強しました。
If ステートメントとともに、実務でも多用しますのでぜひ習得してください。
次回For … Nextステートメントの他の用法についても説明していきたいと思います。
コメント