Home » エクセルマクロ・Excel VBAの使い方 » 配列 » 配列の中身を確認する-ローカルウィンドウ

配列の中身を確認する-ローカルウィンドウ

対象:Visual Basic Editor

「二次元配列 中身 イミディエイトウィンドウ 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の使い方 » 配列 » 配列の中身を確認する-ローカルウィンドウ

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」で回します。

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » 配列の中身を確認する-ローカルウィンドウ

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.