ExcelTips(For Beginners)~VBAでのマクロ3
今回はステートメントの使い方について。色々ある中で,特に使う可能性が高いのは「繰り返し」のステートメントではないでしょうか。同じ作業を何回もくり返すのは面倒ですよね。その面倒臭さを解消するのが「繰り返し」ステートメントです。
代表的なものとしては For~Next 文,Do~Loop文があります。まずはFor~Next 文から説明します。
まずは例文
Public Sub 印刷()
Dim i As Integer
For i = 1 To 20
Sheets("帳票").PrintOut
Next i
End Sub
これは帳票シートを20回印刷するプロシージャです。上から解説しますと
変数の宣言
Dim i As Integer
これは変数の宣言というヤツです。何回目の印刷かを数えなければいけないので,その回数を格納するための変数を宣言します。これをしなくても動くようにできますが,できればやっておきましょう。意味としては, i という変数はInteger型です,と言っているわけです。Integer型というのは整数型ともいって-32,768~32,767の範囲の数値の事です。だいたいの数値はこの範囲に収まる事と思います。その他に私がよく使うのはブール型,文字列型,日付型,バリアント型,オブジェクト型あたりがあります。それぞれの使いどころはまたそのうちに。
書式:Dim (変数を表す文字) As (変数の型)
For~Next文
繰り返しのステートメント(命令文)の一つです。書式は
For (カウンタの変数)=(初期値) To (終わりの値) Step (増える数)
(実行する命令)
Next (カウンタの変数)
ここでカウンタの変数は i と言うことになります。間にはさまれた命令を実行するごとに i に格納される数字は増えて行きます。初期値で与えられた数字がそのスタートとなり,増え数で指定された分だけ増加していきます。最後は終わりの値で指定された数値を越えたらおしまいです。
例文では i = 1 To 20 なので1から20まで増えて行きます。Stepは省略すると1ずつ増加していきます。なので変数 i の中には1,2,3,・・・18,19,20が順番に格納されていきます。
30回くり返したければ To 30 ,40回なら To 40 とすれば良いだけです。このようにFor~Next文はくり返す回数が決まっているときに使いやすいステートメントと言うことができます。
つづく