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文はくり返す回数が決まっているときに使いやすいステートメントと言うことができます。

つづく

いいなと思ったら応援しよう!