エクセルまにあ
超初心者のためのエクセル入門講座 

繰り返し

ここではプログラムで繰り返し処理を行う方法を説明します。繰り返しは、条件分岐と並んでプログラミングの基本となるものなので、しっかりと押さえましょう。

繰り返しとは、図のように同じような処理を何度も行うことです。キーボードやマウスでエクセルを操作する場合、同じ処理を何度も繰り返すのは苦痛でしかありませんが、VBAのプログラムを使えばこれが簡単に出来ます。繰り返し処理が簡単に行えるというのは、VBAの大きなメリットのひとつなのです。

VBAでは、繰り返しを行うための構文として、「For Next」、「Do While」、「Do Until」の三つが用意されています。以下、これらについて簡単に紹介します。

For Next による繰り返し処理

For Next は、あらかじめ繰り返し回数が決まっているときに便利な構文です。まずは For Next の書式を見てみましょう。

For  変数  =  初期値  To  最終値
  色々な処理
Next  変数

このように書くと、はじめに変数の値が初期値に初期化され、1ずつ増えながら最終値になるまで繰り返し処理が行われます。いまいち分かりづらいと思いますので、具体的なプログラムを見ながら説明します。

For  i = 1  To 5
        Cells( i, 1 ) = i * 3
Next i

これは、A1セルからA5セルの中に、3の倍数を入れるプログラムです。このプログラムを実行すると、下の図のような状態になります。

初期値が 1 で、最終値が 5 ですから、i の値は 1, 2, 3, 4, 5 と増えていきます。そして、そのそれぞれの値のときに Cells( i, 1 ) = i * 3 の行が実行されます。

Cells( i, j ) は、i 行 j 列 のセルを表すオブジェクトです。例えば Cells( 3, 2 ) は、A3セルを表します。

ここでは、Cells( i, 1 ) = i * 3 としていますので、A1セルに 3、A2セルに 6、A3セルに 9 というように、3の倍数が次々と代入されることになります。

このように、For Next を使えば、複数のセルを順番に処理するといった繰り返し処理を簡単に行うことが出来ます。

Do While による繰り返し処理

Do While は、ある条件が成立している間繰り返しを行うという動作をします。書式は以下の通りです。

Do  While  条件式
 処理
Loop

条件式の部分に書いた条件が毎回評価され、それが成立している間処理が繰り返されます。また、下のような書き方も用意されています。

Do
 処理
Loop  While  条件式

これは、条件を判定するタイミングが異なるだけで、基本的には上の書式と同様です。

Do Until による繰り返し処理

Do Until は、ある条件が成立までの間繰り返しを行うという動作をします。書式は以下の通りです。

Do  Until  条件式
 処理
Loop

条件式の部分に書いた条件が毎回評価され、それが成立するまでの間処理が繰り返されます。While と比べると、条件の判定が逆になっているということです。While と同様、下のような書き方も用意されています。

Do
 処理
Loop  Until  条件式

 

ここでは簡単に紹介しただけですが、繰り返し処理は非常に応用範囲が広いものです。プログラミングの基本と言ってもいいでしょう。繰り返し処理をしっかりとマスターし、面倒な繰り返し作業をVBAで自動化しましょう。

おわりに >>