マクロの編集画面(Visual Basic Editor)の一番下にはイミディエイトウィンドウと呼ばれる画面が用意されています。
数学用の(たとえば素数を見つけるなどの)プログラミングでは、ワークシートを使わなくても、この画面に数値を出力してしまえばそれで用が済むことも多いので、使い方を覚えておくと便利です。今回はここに 1 から 9 の数字を並べてみます。
数並べマクロ
1 から 9 の数字を表示させるマクロです。
Dim x As Integer
For x = 1 To 9
Debug.Print x
Next x
End Sub
実行するとイミディエイトウィンドウに 1 から 9 の数字が縦並びに表示されます。
For...Nextステートメント
同じ処理を何度も繰り返すことを ループ とよびます。 VBA にはこのループ処理を行うためのステートメントがいくつか用意されていますが、処理回数を指定する場合には For...Nextステートメント を用います。
一連の記述は「カウンタ変数」の指定から始まります。カウンタ変数とは1回の処理ごとに値を増やす(あるいは下げる)変数で、今の例では x がカウンタ変数となっています。そして
のように、ループをどの数値から始めて、どこで終わるのかを指定します。上のマクロでは
となっているので、x = 1 から始めて、2, 3, ..., 9 まで同じ処理を繰り返すという意味です。
For と Next に挟まれた部分が繰り返される処理内容で、上のマクロでは
となっています。これは「イミディエイトウィンドウに x を表示する」という意味です。Debug.Print はメソッドという種類のステートメントに属しますが、メソッドはまた別の機会に詳しく解説するつもりなので、当面の間は Debug.Print の使い方だけ覚えておいてください。