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の使い方 » 配列 » 配列の中身を確認する-ローカルウィンドウ

「配列」の記事一覧

検索


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

.