この記事では、VBAでFor文を利用した繰り返しの方法を紹介します。
VBAの環境構築がまだの人はは以下を参考にしてださい。
VBAの環境構築の方法をまとめました
この記事では、Excelマクロ・VBAを使い始めるための環境構築の方法をまとめています。これからVBAを活用したい方はぜひ参考にしてください。
まず、繰り返しについて紹介します。
繰り返しについて
For文の使い方は大きく2つに分けられます。
1.数値の繰り返し
2.配列の繰り返し
1.数値の繰り返し
簡単に言えば、例えば数値を1から10まで繰り返すと言った感じです。具体的にはiという変数に1〜10を設定した場合、
i=1の時の処理
i=2の時の処理
・
・
i=10の時の処理
プログラムにすると以下のような感じです。
Dim i As Long For i = 1 To 10 Cells(1, i).Value = "OK" Next
上記の プログラムでは、
i=1の時、Cells(1, 1)にOKを入力
i=2の時、Cells(1, 2)にOKを入力
・
・
i=10の時、Cells(1, 10)にOKを入力
といった感じです。プログラムをすると以下のようになります。
また、For文はよくif文との組み合わせが多いです。
Dim i As Long For i = 1 To 10 If i Mod 2 = 0 Then ' 偶数の場合の処理 Cells(1, i).Value = "偶数" Else ' 奇数の場合の処理 Cells(1, i).Value = "奇数" End If Next
上記のようなプログラムの場合、iが1〜10のうち偶数の時の処理と奇数の時の処理を分けられます。
Modは余りを表します。上記のプログラムの「i Mod 2 = 0」はiを2で割った際の余りが0の場合という意味です。
2.配列の繰り返し
["りんご", "ぶどう", "パイナップル"]といった配列があるとします。この配列を繰り返しは以下のような仕組みになります。
a=りんごの場合の処理
a=ぶどうの場合の処理
a=パイナップルの場合の処理
これを繰り返すコードは以下の通りです。
' 配列の作成 Dim fruits(2) As String fruits(0) = "りんご" fruits(1) = "ぶどう" fruits(2) = "パイナップル" For Each a In fruits If a = "りんご" Then ' a=りんごの場合の処理 Cells(1, 1).Value = "赤" ElseIf a = "ぶどう" Then ' a=ぶどうの場合の処理 Cells(1, 2).Value = "紫" ElseIf a = "パイナップル" Then ' a=パイナップルの場合の処理 Cells(1, 3).Value = "黄" End If Next
上記のプログラムを実行すると以下のようになります。
配列については以下の記事をご覧ください。
配列の仕組みとVBAによる作成方法を紹介
この記事では、配列の仕組みとVBAでの配列の作成方法について紹介しています。この記事を読めば、配列の基本的な内容を理解することができます。ぜひ参考にしてください。
以上、For文の紹介でした。以下はVBAを学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。