For Each で配列の全ての要素を処理する方法
スポンサーリンク
エクセルVBA では For Each を使用して配列の全ての要素を処理することができます。
通常の配列の場合
配列のすべての要素を表示するサンプルコードは次の通りです。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Option Explicit Sub test() 'サイズ5(最大インデックス4)の配列を宣言 Dim strNames(4) Dim strName 'For Eachの中で配列の要素の値を格納するための変数 '配列の各要素に値を代入 strNames(0) = "太郎" strNames(1) = "次郎" strNames(2) = "三郎" strNames(3) = "四朗" strNames(4) = "五郎" '配列内の各要素を1個ずつ取り出して処理 For Each strName In strNames Debug.Print (strName) Next End Sub |
上記の実行結果は次の通りです。
イミディエイトウインドウ | |
1 2 3 4 5 | 太郎 次郎 三郎 四朗 五郎 |
二次元配列の場合
二次元配列のすべての要素を表示するサンプルコードは次の通りです。
VBA(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Option Explicit Sub test() 'サイズ2×4の配列を宣言 Dim strNames(1, 3) Dim strName 'For Eachの中で配列の要素の値を格納するための変数 '配列の各要素に値を代入 strNames(0, 0) = "太郎" strNames(0, 1) = "次郎" strNames(0, 2) = "三郎" strNames(0, 3) = "四郎" strNames(1, 0) = "一子" strNames(1, 1) = "二子" strNames(1, 2) = "三子" strNames(1, 3) = "四子" For Each strName In strNames Debug.Print (strName) Next End Sub |
上記の実行結果は次の通りです。
イミディエイトウインドウ | |
1 2 3 4 5 6 7 8 | 太郎 一子 次郎 二子 三郎 三子 四郎 四子 |
スポンサーリンク
- 配列
- 配列のサイズを動的に変更する方法
- For Each で配列の全ての要素を処理する方法
- 2個の配列をマージする方法