「二次元配列 中身 イミディエイトウィンドウ vba」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
VBA(Visual Basic for Applications)でマクロなどを作成していて、二次元配列に何が格納されているのか、中身を確認する方法を探している方でしょう。
配列を確認するならイミディエイトウィンドウよりローカルウィンドウ
イミディエイトウィンドウで確認する方法を探しているようですが、配列の中身をイミディエイトウィンドウで確認するのは、結構面倒です。
VBE(Visual Basic Editor)のローカルウィンドウを使うと、イミディエイトウィンドウよりも簡単に、二次元配列に限らず、配列変数の中身を確認することができますのでご紹介しておきます。
ステップ実行中にローカルウィンドウで配列名を展開する
配列を確認するサンプルマクロ
Excelで二次元配列を利用する例として以下のようなマクロが考えられます。
Sub 選択されているセル範囲で新規シートを作成する()
Dim arr As Variant
arr = Selection.Value
Worksheets.Add
Range("A1", Cells(UBound(arr, 1), UBound(arr, 2))).Value = arr
End Sub
下図のようにセル範囲を選択しておいて上記のマクロを実行すると、
選択されていたセル範囲のデータがA1セルから貼り付けられた新規シートが作成されます。
このようなマクロが上手く動かないときに、配列に何が格納されているのか中身を確認する必要が出てきます。
イミディエイトウィンドウを使うとしたら...
イミディエイトウィンドウで確認するなら、ステップ実行中に
「? arr(1,1)」
といった入力を行って[Enter]キーを押すか、コードのなかにDebug.Print文を追加することになります。
正直言って非常に面倒です。
こういった確認が、ローカルウィンドウならばとても簡単にできます。
ローカルウィンドウで配列を確認する
メニュー[表示]-[ローカルウィンドウ]から、ローカルウィンドウを表示しておいてステップ実行を開始します。
選択範囲の値をarrに格納する処理
arr = Selection.Value
が実行されたあとにローカルウィンドウを確認すると、下図のような状態になっています。
この状態で「arr」の前の「+」記号をクリックすると下図のように展開されます。
更に「arr(1)」の前の「+」記号をクリックすると下図のように配列arr(1,1)とarr(1,2)の中身を確認することができるのです。
同様に「arr(2)」の前の「+」記号をクリックすると配列arr(2,1)とarr(2,2)の中身も確認できます。
Debug.Printとイミディエイトウィンドウを使ったデバッグのようにコードに手を加えることなく、簡単に配列の中身を確認できるということです。
VBEで、配列絡みのデバッグをする場合に、是非とも知っておいていただきたい操作です。
ここではExcelを例にあげましたが、WordでもPowerPointでもAccessでも同じです。
- Newer:ファイル名を指定して実行ダイアログの表示方法
- Older:実践的ですぐに役立ちそうな、VBE活用セミナー
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » 配列の中身を確認する-ローカルウィンドウ