【VBA】For Eachって何?
こんにちは
今日はFor Eachについて学んでいきます。
IE?まだ勉強中でして、しばらくお待ちを。
For Each ってなに?
私も結構調べててよく出てくるんですよね。
でも実際にどんな動作をするのか分からないため、今回調べた次第であります。
どうやら配列やコレクションの数だけForと同様に処理を繰り返すみたいですね。
Sub test1() Dim 配列() 配列 = Array(1, 2, 3, 4, 5) For Each i In 配列 MsgBox i Next i End Sub |
今回はこんな感じで
配列にArray関数で文字を5個入力して
For Each ~In で5回繰り返しています。
各配列の中身はVariant型の変数iが配列の中身を返している感じです。
Sub test2() Dim 配列() 配列 = Array(1, 2, 3, 4, 5) For i = 0 To UBound(配列) MsgBox 配列(i) Next i End Sub |
似たような感じでUBoundがありますね。
これは配列の最大の要素数数を数字に変換しています。
最小はLBoundですね。
Sub test3() For Each i In Worksheets MsgBox i.Name Next i End Sub |
配列以外にもワークシートでも代用できるようですね。
これは便利ですね。If i.Name="Sheets1" Then というように特定のシートに対して処理を行うこともできます。
今回はこの辺で失礼します。