八木くんのマンションで、星くんのVBAの勉強はまだまだ続きます。
今回は、繰り返し構文の勉強です。
「星、コーヒーが入ったぞ。八木特製ブレンドだ。うまいぞ」
差し出されたコーヒーを、星くんが一口すすります。
「ホントだ。うまいね。豆は何を使ってるんだい?」
「…インスタントだよ。悪いな。あいにくコーヒー豆を切らしちゃっててね」
星くんは、口に含んだコーヒーを噴き出しそうになりました。
休憩も終わり、早速繰り返し構文の勉強です。
「Excelで、あるセルに数式を入力したとするよ。
同じ数式を列方向にたくさん入力したいとき、普通ならどうする?」
「そりゃ、オートフィルを使うよ。元の数式が入ったセルを列方向にドラッグして一気にコピーするさ」
八木くんの質問に、星くんが答えます。
「うん、普通そうするよな。
なぜそうするかというと…同じ内容の数式を何度もセルに入力していくのは、めんどくさいからだ。
プログラムも一緒で、同じ処理のコードを何度もプログラムの中に記述するのは、ナンセンスなんだよ。
一度コードを書いたら、同じ処理を何度も繰り返してくれる構文があったら便利だと思わないかい?」
「あ…なるほど…」
八木くんの説明に、星くんがうなずきます。
「繰り返し構文がなぜ必要なのか、わかってきたかい?具体的には次のように記述するんだ」
そういうと八木くんは、パソコンに簡単な図をかいて説明します。
「これは繰り返し構文のひとつ、For…Nextステートメントの処理の流れだよ。
"i"というのはカウンタ変数といって、処理が繰り返されるたびに1ずつ値が加算されていくんだ。
"最終値"というのは、繰り返しを終える値のことだよ。
つまりカウンタ変数の値が最終値になるまでの間、繰り返し処理が実行されるんだ」
「ふんふん。このカウンタ変数のところ…"i = 1"となっているけど、これはどういう意味だい?」
「"i = 1"は、カウンタ変数iの"初期値"を1から始めなさいという指定だよ。
"i = 2"にすれば2からカウントを始めるし、"i = 10"にすれば10からカウントを始めるよ」
「なるほど…。カウンタ変数の初期値を1にして、最終値を10にすれば、
処理を10回繰り返す…というふうに理解していいのかな?」
「ピンポーン!その通りだ。実際のコードを使って確認してみよう」
八木くんがVBEに、コードを作成します。