Excel VBAの使い方/マクロ・VBA

エクセルでシート作成するマクロ(For文の活用)(2ページ目)

マクロを読み解いて編集する演習シリーズ。これまで作成してきたVBAプログラムをひとまず完成させます!そして、今回もVBAの基本構文の紹介しながら、VBAならではの考え方を学習します。ぜひ、ご覧ください!

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド


繰り返し処理のステートメントとは

繰り返し処理に使用する基本的なステートメントは2つあります。「For...Nextステートメント」と「Do...Loopステートメント」です。これらは、繰り返す回数がわかっているときにFor...Nextステートメント、回数がわからないときにDo...Loopステートメントを使用する、といったように使い分けます。今回は、繰り返す回数が「ワークシートの枚数」という形でハッキリしているので、For...Nextステートメントを使います(Do...Loopステートメントについては次の機会に紹介します)。

For...Nextステートメントの書き方は次のとおりです。「For」と「Next」の間に「繰り返す処理」を記述することで、『「ループカウンタ」が「初期値」から「最終値」になるまで、「繰り返す処理」を繰り返す』といった処理が実行されます。ちなみに、ループカウンタは変数です。ほぼ自由に名前をつけることができます。


たとえば、次のようなFor...Nextステートメントが実行されると、まず、初期値「1」がループカウンタである変数「i」に代入されます。そして、処理Aの1回目の処理が実行され、「Next i」で変数iに「1」が加えられ、処理Aに戻って2回目の処理が実行されます。これを繰り返して、変数iが最終値「5」であるときの5回目の処理が実行されたら、繰り返し処理は終了します。ループカウンタの値が「1」ずつカウントアップされながら、決められた回数だけ実行されるイメージがつかめたでしょうか?


このステートメントを利用するときのポイントは、ループカウンタをいかに活用するか、という点です。ループカウンタは変数なので、繰り返す処理の中で使用できます。たとえば、次のFor...Nextステートメントを実行すると、メッセージボックスで「1」→「2」→「3」→「4」→「5」と表示されます。繰り返す処理の中で変数iが使われています。


今回の場合、初期値は「1」で、最終値が「セルA5に入力されているワークシートの枚数」ということになるので、ループカウンタの変数名をiとすると、次のような形になります。
※ループカウンタの最終値は、変数SheetAddCountに「3」を加えた値としても良いです。


この内容を、現在作成しているプロシージャの「ワークシートを作成したあとの部分」に追記しておきましょう。変数iを宣言するステートメント「Dim i As Integer」も忘れずに記述してください。


>次ページから、シート名を設定する処理の作成に入ります!
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます