
『Microsoft Excel』(以下Excel、エクセル)の中の機能としてある[VBA] について基本的な説明をしていきます。
仕事の改善や個人的な知識向上に役立ててください(^o^)
第14回目の今回は
VBAで繰り返し処理(For~Next)
について解説していきますので、よろしくお願いします。
前回までのVBAに関するINDEXは下記を参照してくださいね。
↓サブログ内部リンク(VBA用INDEX)↓
-
-
目次
Excel VBA講座-目次(INDEX)
サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 スラスラ読めるExcel VBA ...
続きを見る
ちなみに第9回のVBA講座で説明したDo文との違いは、ループの終わり方の違いです。For文が指定した回数だけ回って終わるというのに対して、Do While文の方 は、ある条件が満たされなくなった時点で終わる、つまりファイル数が任意(数が分からない)ような場合に使います。
【エクセルVBAの勉強】#9 Do~Loop(繰り返し)処理を活用して劇的改善 !!【初心者向け】
繰り返し処理1 ~For・・・Next~
For~Nextはプログラム中の同じ箇所を「繰り返し実行」するために使います。
<書式>
Dim カウンタ変数 As データ型
For カウンター変数 = 書式値 To 最終値
繰り返して実行する処理内容
Next カウンタ変数(省略可)
<説明>
For・・・Nextステートメントでは、繰り返し処理を行う回数を管理する変数(カウンタ変数)を利用します。
変数宣言後、変数の初期値といくつまで処理を実行するか(変数を増やすか)最終値を指定し、繰り返して実行する内容を記述します。
<コード記入例>
'変数"行"を整数型に定義する
Dim 行 As Integer
'変数"行"の値が2から15になるまで処理を繰り返す
For 行 = 2 To 15
C列の処理している行の値はA列とB列の処理している行の積の値とする
Cells(行, 3).Value = Range("A" & 行).Value * Range("B" & 行).Value
'変数"行"のループカウンターを1つ増やして処理を繰り返す
Next 行
’マクロを終了する
End Sub
繰り返し処理2 ~For ・・・(Step)・・・Next~
For~(Step)~Nextはプログラム中の2行おきなど、カウンタ増減値を変えて「繰り返し実行」するために使います。
<書式>
Dim カウンタ変数 As データ型
For カウンター変数 = 書式値 To 最終値 Step 加算値
繰り返して実行する処理内容
Next カウンタ変数(省略可)
<説明>
For・・・Step・・・Nextステートメントでは、繰り返し処理を行う回数を管理する変数(カウンタ変数)を利用します。
変数宣言後、変数の初期値といくつまで処理を実行するか(変数を増やすか)最終値を指定し、繰り返して実行する内容を記述します。
Stepで加算値を入れることにより、通常Nextで変数に1が加算されますが、指定した加算値の分だけ飛び越えての繰り返し処理が可能になります。
<コード記入例>
'変数"行"を整数型に定義する
Dim 行 As Integer
'変数"行"の値が2から15になるまで、2行おきに処理を繰り返す
For 行 = 2 To 15 Step 2
A列~C列の処理している行のセルの色を黄色に塗りつぶす
Range(Cells(行, 1), Cells(行, 3)).Interior.ColorIndex = 36
'変数"行"のループカウンターを2つ増やして処理を繰り返す
Next 行
’マクロを終了する
End Sub

下のVBA講座も是非ご覧下さい!!
関連
前回のVBA講座(第13回)
『演算子』とは?【VBA入門講座#13】
関連
次回のVBA講座(第15回)