繰り返し - For...Next ステートメントの使い方

VBAのプログラムを実行すると、記述した順に処理が行われます。

四角を描くプログラム1

Sub Box_01()

InitializeTurtleGraphics

TGMoveL 100
TGTurn 90
TGMoveL 100
TGTurn 90
TGMoveL 100
TGTurn 90
TGMoveL 100
End Sub

というプログラムを実行すると、四角形が描かれます。同様にして、八角形や12角形を描くことができます。

ところで、まったく同じ命令を何回も書くのは面倒ですよね。VBAには、同じ処理を繰り返して実行させる機能があります。

Forループ

For カウンタ = 初期値 To 最終値

 処理

Next [カウンタ]

Forループでは、初期値から、繰り返した回数に応じて値が増加するカウンタが使われます。

Nextステートメントは、カウンタを 1 ずつ増加させます。

更新したカウンタが最終値以下であれば、ForステートメントとNextステートメントの間に記述した処理を再度実行します。

お試しプログラム

コンピュータの警告音を 2回 繰り返して鳴らし、メッセージボックスで確認する。

Sub Beeps()
Dim i
For i = 1 To 2
  Beep
  MsgBox "ビープ音が鳴りましたね", vbOKOnly, "確認"
Next
End Sub

※ Next ステートメントの後にカウンタ変数名を指定する必要は必ずしもありません。

【演習】上のプログラムを実行してみましょう。

おまけ知識 カウンタ変数に は 、indexの頭文字を取った i やその次の文字 j などが良く使われます。

メニューページへ