繰り返し【For】
変数の宣言まで出来たら次は繰り返しの処理を覚えましょう。以前VBAとは?の記事で実行したセルの色付けのコードを見てください。
For ~ To ~とありますよね?
この時、A1からD1まで繰り返し、A2からD2まで繰り返し・・・・A14からD14まで繰り返しという感じで、横に4回同じ処理を繰り返した後、下に1行下がって、また横に4回同じ処理を繰り返すという動作になっています。
このように繰り返しの作業をする事で手動で1つ1つ進めるより格段に処理が早くなるのです。
For~To~Step~Next
例)For s = 1 To 100 Step 5処理内容
Next
For s = 1
この部分は「これから繰り返しの処理を始めますよ」の合図です。
s = 1の部分に関してはsは変数なのでDimで宣言した変数名を使用し、次の1はスタート位置です。
To 100
上記については「ここまで繰り返しますよ」の終着点を決める事になります。
上記の例の場合、sの変数に入ってる「1番からToの後の100番目まで処理しますよ」ということになります。
Step 5
ここについては「何個飛ばしで進めますよ」の意味になります。
上記の例では「1番から100番まで5個飛ばしで進めていきますよ」の意味になります。
1番が終わったら5個飛ばして6番、6番が終わったら5個飛ばして11番・・・・となり96番が終わると101番になり、100番を超えたので終了という事で、合計20回の処理になります。
Next
最後のNextは「ForからNextまでの間の処理が終わったらForに戻りますよ」の意味になります。これはForとセットになってるので、Forが付いたら最後にNextと覚えておいてください。
このように繰り返しのステートメントをマスターする事で、今まで同じ処理を毎日繰り返していたのがマクロによって数秒で終わるようになるのです。
練習問題
最後に練習問題です。下にある画像の様にA1のセルに1をA3のセルに3を、というように19行目まで1つ飛ばしでセルの行数の数字が入るようにVBAを組んでみてください。
上の文章にはヒントだらけなのでわからなければ読み直してみてくださいね。
※答えは次回の記事に載せておきます。