For Each ステートメントとは
配列に対して繰り返し処理を行えます。
ここでは扱いませんが、配列以外にコレクションなどグループに対して繰り返し処理を行えます。
#16で For Next ステートメントがありましたが、こちらは配列やコレクションに限らず用いられます。
For Each の使い方
以下のような使い方です。
Dim グループ名 As Variant Dim 要素を受け取る変数名 As Variant ’省略可能です。 For Each 要素を受け取る変数名 In 配列やコレクションなどのグループ名 処理 Next 要素を受け取る変数名
ではやっていきます。
Eachを使うので、EachTestというプロ―シージャ名にします。
Sub EachTest()
Sub EachTest() End Sub
西郷・一橋・勝・坂本 の四人を配列の要素として準備します。
配列の変数名は namesにします。
Dim names as Variant ‘変数namesをVariant型で宣言します。
Sub EachTest() Dim names As Variant End Sub
names = Array(“西郷”, “一橋”, “勝”, “坂本”) ’namesにArrayで四人の名前を設定します。
Sub EachTest() Dim names As Variant names = Array("西郷", "一橋", "勝", "坂本") End Sub
要素を受け取る変数名を単数形の name にします。
Dim name as Variant ‘変数 name をVariant型で宣言します。
Sub EachTest() Dim names As Variant names = Array("西郷", "一橋", "勝", "坂本") Dim name As Variant End Sub
For Each name in names ‘全ての配列の要素に対し何らかの処理をする場合はこう書きます。。
Sub EachTest() Dim names As Variant names = Array("西郷", "一橋", "勝", "坂本") Dim name As Variant For Each name In names End Sub
Debug.Print name ‘個々の名前をイミディエイトウィンドウに表示します。
Sub EachTest() Dim names As Variant names = Array("西郷", "一橋", "勝", "坂本") Dim name As Variant For Each name In names Debug.Print name End Sub
Next name ‘次の名前に移ります。
Sub EachTest() Dim names As Variant names = Array("西郷", "一橋", "勝", "坂本") Dim name As Variant For Each name In names Debug.Print name Next name End Sub
*Next の後の nameは省略可能です。
コメント