【VBA】For文の使い方【指定した回数分処理を繰り返す】

VBA

VBAでは同じ処理を何度もしたい時があります。

その場合に手書きで同じ処理を書くのは非効率である場合があります。

 

そんなときに使うのがFor文です。

For文とは回数を指定してその回数分、指定した処理を繰り返すためのステートメントになります。

 

なので、本記事ではFor文である「For Next」「For Each Next」の2つについて解説していきます。

スポンサーリンク



For Next の使い方

ここでは「For Nextの書式」「For Nextを使った簡単な参考コード」を解説していきます。

For Next文の書式

For Next文では『開始数値』と『終了数値』を指定して回数を設定します。

そして、繰り返す際には変数に現時点の数値が代入されますので、繰り返し処理にその変数を使うことも可能です。

 

最後に、Nextで括りますが、その際には繰り返し範囲で使った変数も記述するようにしましょう。

※変数を記述しなくても処理は行われますが、For文を2重で使うなどネストが深くなる際にはコードが読みづらくなってしまいます。(ほかに理由があったら申し訳ない)

 

【参考コード】指定した数だけ繰り返す

では、さっそく実際のFor Next文を確認していきます。

下は1,2,3の数値3回、処理を繰り返すというコードになっています。

上のコードでは3回繰り返され、そのたびに変数iに現時点の指定した数値(1→2→3)が代入されていきます。

ちなみに結果は下のようになります。

 

For Each Next の使い方

次に「For Each Nextの書式」「For Each Nextを使った簡単な参考コード」を解説していきます。

For Each Next文の書式

For Each Next文では『コレクション・配列の要素数』分、処理を繰り返します。

そして、繰り返す際には変数に現時点の配列の要素を代入されますので、繰り返し処理にその変数を使うことも可能です。

最後にNextで括ります。

 

【参考コード】配列の「要素数」分、処理を繰り返す

ここでは配列を使って実際のFor Each Next文を確認していきます。

下は5つの要素数を持つ配列を使って、処理を繰り返すというコードになっています。

上では要素数が5つの配列(numbers)があります。

その配列をFor Each Next文で指定し、その要素数分繰り返すようにしています。

ちなみに処理内容は配列に入っている数値をイミディエイトに出力するようにしています。

 

上のコードを実行すると下のような結果になります。

 

【参考コード】指定した「セル数」分、処理を繰り返す

次にエクセルシート上にあるセルを使ったパターンになります。

下はセル範囲(B2~C8)のセル数分処理を繰り返すというコードになっています。

上では5行目で14つのセルを指定しているので、処理は14回繰り返されるようにしています。

ちなみに処理内容は指定したセル範囲のセルに”〇”を入力するといった感じです。

 

そして、上を実行した結果は下のようになります(太線の外枠は別)。

スポンサーリンク

コメント