「array関数 split関数 イミディエイトウィンドウへの結果表示」
という検索で、このサイト・インストラクターのネタ帳がありました。
Array関数やSplit関数の戻り値を,イミディエイトウィンドウに出力するためには、VBA(Visual Basic for Applications)で、どのようなコードを書けばいいのかを探していらした方による検索です。
ArrayもSplitも、配列を返す関数ですから、配列の中身をイミディエイトウィンドウにDebug.Printするには、どのようなコードを書けばいいのかということです。
配列の中身をイミディエイトウィンドウに出力するサンプルマクロ
イミディエイトウィンドウを使う必要があるのか疑問は残りますが、まずは、そんなSubプロシージャをご紹介しておきます。
以下のSubプロシージャを実行すると、配列変数・arrの、インデックス番号・添え時と、各要素に格納されているデータ「イ」「ロ」「ハ」がイミディエイトウィンドウに出力されます。
Dim arr As Variant
Dim i As Long arr = Array("イ", "ロ", "ハ")
' arr = Split("い ろ は")
For i = LBound(arr) To UBound(arr)
Debug.Print i & vbTab & arr(i)
Next i
End Sub
コメントアウトされている、
' arr = Split("い ろ は")
を非コメント化すると、Split関数で作られた配列変数・arrの中身「い」「ろ」「は」がイミディエイトウィンドウに出力されます。
配列のインデックス番号の、最小値を返すLBound関数と、最大値を返すUBound関数を使った、
For i = LBound(arr) To UBound(arr)
Debug.Print i & vbTab & arr(i)
Next i
というFor~Nextループが、
「array関数 split関数 イミディエイトウィンドウへの結果表示」
という検索をなさった方の求めていたコードのはずです。
配列の中身をイミディエイトウィンドウに出力するというニーズについては疑問を感じますが、ここで使っている
For i = LBound(配列名) To UBound(配列名)
配列要素に対する処理
Next i
というFor~Nextループについては、配列を利用するのなら、是非理解しておくべき処理です。
配列の中身を確認するにはローカルウィンドウが簡単
「array関数 split関数 イミディエイトウィンドウへの結果表示」
ということですから、上記のようなFor~Nextループをご紹介しましたが、単に配列の中身を確認したいのであれば、イミディエイトウィンドウを使うよりも、ローカルウィンドウがおすすめです。
Dim arr As Variant arr = Array("イ", "ロ", "ハ")
' arr = Split("い ろ は")
Stop
End Sub
上記のSubプロシージャを実行すると、Stopステートメントでステップ実行状態になりますから、メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示してください。
下図のように、配列・arrに「イ」「ロ」「ハ」が格納されていることを確認できるはずです。
イミディエイトウィンドウに出力するには、
For i = LBound(arr) To UBound(arr)
Debug.Print i & vbTab & arr(i)
Next i
というコードを書かなければいけませんでしたが、ローカルウィンドウで確認するのならコードを書く必要はありません。
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » 配列の中身をイミディエイトウィンドウにDebug.Print