HOME > 即効テクニック > Excel VBA > その他関連のテクニック > デバッグ入門−ローカルウィンドウその他

即効テクニック

その他関連のテクニック

デバッグ入門−ローカルウィンドウその他

(Excel 97/2000)
サンプルを用いてここでは主としてローカルウィンドウの具体的な活用法を考察します。

(サンプル)
Sub テスト()

Dim varArray As Variant
Dim Rng As Range
Dim Sh As Worksheet

Set Rng = ActiveSheet.Range("A1").CurrentRegion
varArray = Rng.Value

'処理・・・

End Sub
====================================
ここで例えば・・・
  1. 変数varArrayの中身を知りたい
  2. 変数Rngに格納されたセル領域のAddressを知りたい
  3. Rangeオブジェクトのメンバであるプロパティーや下位オブジェクトを知りたい ※何か便利なプロパティーはないだろうかというケース
と考えた場合・・・ ====================================
  1. 変数の中身を見るにはローカルウィンドウなどがつかえます 【ローカルウィンドウ】・・・ 1)VBEメニューの”表示”から”ローカルウィンドウ”で表示。 2)変数varArrayの上にカーソルを置いて、メニューの”デバッグ”から、もしくは右クリックのショートカットメニューから、”ブレークポイントの設定”を選択。サンプル実行。 3)中断モードになったところでローカルウィンドウを除くと”式”のところに変数名が表示されています。対応する”値”には”Empyt値”となっています。 まだ中身が格納されていないためです。 4)一行ずつ実行するため、F8キーを押すか、メニューのデバッグから”ステップイン”を選択。 5)”式”の欄で変数名の左側に表示された”+”印をクリックしてツリーを展開。 ここでは変数varArrayにはセル領域のデータを一括で格納していますので、対象範囲の値が2次元配列の形で格納されていることが分かります。 ●ポイント:変数の中身はローカルウィンドウで確認できる。
  2. イミディエイトウィンドウを用いてセル領域のアドレスを取得します。 【イミディエイトウィンドウ】 1)VBEメニューから”表示”− ”イミディエイトウィンドウ” 2)1と同じように変数varArrayへ格納部分の次の行までの実行、中断モードへ。 3)イミディエイトウィンドウに・・・”?Rng.Address”と入力してEnterすると直下に結果が表示される。 ●ポイント:イミディエイトウィンドウでVBAを実行できる。 ※値や式の内容を確認するときは”?・・・”、実行のみの場合は”?”をつけずに・・・”Range("A1:D10").Select”などとする。
  3. 1と同様にローカルウィンドウに表示されている変数”Rng”の左側にある”+”印をクリックしてツリー状に展開させると変数Rngを通してアクセスできるプロパティーなどを確認できます。 例えば・・・”Value”の”+”印をさらに展開させると上記サンプルでは変数varArrayに格納したような2元配列形式でValueプロパティーの中身を確認できます。 また、展開された式の内容から例えば”Validation”(入力規則のことです)に興味を持った場合、直接ヘルプを確認したり、”オブジェクトブラウザ”(F2で表示)に 検索文字列として打ち込んでみると使用可能なメソッドの確認も出来ますので便利です。表示された検索結果から一行選択して右クリック⇒”ヘルプ”で該当するヘルプを表示させることも出来ます。