For 〜 Next
For文もIf文と同様にVBAをやるうえで欠かせない文法です。●文法
For 変数 = 初期値 To 繰り返し回数 処理 Next |
---|
変数にはループカウンタとして分かりやすい変数名をつけましょう。
初期値 = 1、繰り返し回数 = 10を指定すると10回ループします。
●使用例
Dim loopcnt As Long For loopcnt = 1 To 10 Worksheets(1).Cells(loopcnt,loopcnt).Value = loopcnt & "回目" Next |
---|
●実行結果
なぜこうなるかわかりますか?
1回目のループ:Cells(1,1) = A1
2回目のループ:Cells(2,2) = B2
3回目のループ:Cells(3,3) = C3
?・
?・
?・
と「loopcnt」がカウントアップしていくからです。
このようにセルに順番に値を入れていくプログラムでは、ループカウンタとして宣言した変数をそのまま処理に使用することが多くあります。
わざわざ、変数をもう1つ用意する必要はありません。
「誰が見ても分かりやすく、スマートに!」
使用例では変数を「loopcnt」としましたが、これはループ用のカウンタだよ!というのを明示的にしたかっただけです。
実際のプログラムでは「i」「j」のように小文字一文字で変数名をつけることが多いです。
ループカウンタにしか使用しない変数は「i」「j」でも構いませんが、カウンタとして使用した変数を利用して後述の処理を行う場合などは分かりやすい変数名をつけることをオススメします。
For文はデフォルトでは、1ずつカウントアップされていきますが、「STEP」を使用することでいくつずつカウントアップするか指定することができます。
●文法(STEP使用)
For 変数 = 初期値 To 繰り返し回数 STEP 加算値 処理 Next |
---|
Select 〜 Case文 | Do 〜 Loop文 |
---|