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 | 太郎 一子 次郎 二子 三郎 三子 四郎 四子 |
スポンサーリンク
- エクセルVBA
- Debug.Print が出力するウインドウを表示する方法
- オブジェクトが空(Nothing)であるかを調べる方法
- R1C1 形式で範囲を指定する方法
- 変数やオブジェクトの型を確認する方法
- yyyymmdd 形式の文字列で現在日付を取得する方法
- UTF-8など文字コードを指定してテキストファイルに書き込む方法
- テキストファイルに書き込む方法(Shift-JIS)
- For Each で配列の全ての要素を処理する方法
- 指定した名前のシートが存在するかを確認する方法
- ファイルの更新日時を取得する方法
- 2個の配列をマージする方法
- 新しいブックを作成して保存する方法
- フォルダ内のファイル数を取得する方法
- フォルダ内のファイルとフォルダの一覧を取得する方法
- yyyymmdd 形式の文字列や数値を Date 型に変換する方法
- yyyymmdd 形式の文字列や数値が正しい日付かを判定する方法
- OKボタンだけのダイアログを使用する方法
- Yes/No ダイアログを使用する方法
- Yes/No/Cancel ダイアログを使用する方法
- ダイアログのメッセージを途中で改行する方法
- ファイルをコピーする方法
- 処理を一時停止する方法
- ソースコードが長い時に途中で改行する方法
- 文字列の一部を置換する方法
- ワークシート
- 全てのシートをコピーする方法
- シート数を確認する方法
- 全てのシートをループして処理する方法
- シートをコピーして名前を変更する方法