「二次元配列 中身 イミディエイトウィンドウ 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でも同じです。
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » 配列の中身を確認する-ローカルウィンドウ
- Newer:ファイル名を指定して実行ダイアログの表示方法
- Older:実践的ですぐに役立ちそうな、VBE活用セミナー
TrackBack:9
- TrackBack URL
- 配列にアルファベットを格納する from インストラクターのネタ帳
- 配列にアルファベットを格納するVBA(Visual Basic for Applications)のコードをご紹介しています。
- Excel VBAで配列の行列・縦横を入れ替える from インストラクターのネタ帳
- Excel(エクセル)のVBA(Visual Basic for Applications)では、ワークシート関数の一つTRANSPOSE関数を使うことで...
- セル内の文字列を1文字ずつ配列変数に代入するExcelマクロ from インストラクターのネタ帳
- Excel(エクセル)で、アクティブセルの文字列を一文字ずつ配列変数に代入を行う、VBA(Visual Basic for Applications)のサ...
- Excel VBAで2次元配列を宣言する from インストラクターのネタ帳
- Excel(エクセル)VBA(Visual Basic for Applications)の2次元配列宣言方法をいくつかご紹介しています。
- Array関数の使い方・サンプル from インストラクターのネタ帳
- VBA(Visual Basic for Applications)で配列を作成するのに便利なArray関数の使い方・サンプルをご紹介しています。
- オブジェクト変数の中身を確認するには from インストラクターのネタ帳
- VBE(Visual Basic Editor)のローカルウィンドウを使うと、オブジェクト変数にどんな情報が格納されているのかを眺めることができます。
- 変数の型を調べるには?-ローカルウィンドウ・TypeName関数 from インストラクターのネタ帳
- VBA(Visual Basic for Applications)のデバッグ中に変数の型を調べる場合は、VBE(Visual Basic Editor)...
- Split関数の戻り値が配列かどうか調べる from インストラクターのネタ帳
- Split関数の戻り値が配列かどうか調べる方法をご紹介しています。
- 配列の要素を逆順に処理する from インストラクターのネタ帳
- 配列変数の要素を逆順に処理するには、For~Nextループを「Step -1」で回します。