【Rangeオブジェクト変数】アドレスをウォッチウインドウで確かめる方法(VBA)

今回はRangeオブジェクト変数のアドレスをウォッチウインドウで確認する方法を紹介します。

こんな風↓に悩んでいる方はお試しあれ。

  • Rangeオブジェクトの範囲を調べるため、何度もDebug.Printを書いている
  • Rangeオブジェクトをウォッチ式に追加したが、アドレスが分からない

Rangeオブジェクト変数のアドレスをウォッチウインドウで確認

Rangeオブジェクトは変数をそのままウォッチ式に追加しても、そのアドレスを確認することはできません。

  1. そのままウォッチ式に追加するとどうなるか
  2. アドレスを確認するためにはどうすれば良いのか

の順番で説明していきます。

Rangeオブジェクト変数をウォッチ式に追加しても×

Sub rngAddress()

    Dim rngSample As Range: Set rngSample = Range("A1:D4")
    Dim int_i As Integer
    
End Sub

上のサンプルプログラムで、Rangeオブジェクト変数(rngSample)をウォッチ式に追加したとします。

ウォッチウィンドウにはRangeオブジェクト変数のプロパティが多数表示されるものの、この中を見てもアドレスを確認することはできません。(Addressプロパティがない)

Rangeオブジェクト変数に.Addressを付けるとアドレスが分かる

ウォッチウィンドウでアドレスを確認するためには、ウォッチ式を追加するときに一工夫する必要があります。

このように変数名の後ろに.addressを付け加えます。

すると、RangeオブジェクトのAddressプロパティがウォッチ式として登録され、見事アドレスを確認する事ができます。

スペシャルサンクス

  • @dz11さん
  • @VBA07529852さん
  • @jbaske_032jさん
  • @kyrtnyyさん

Twitterで情報提供および検証に付き合ってくださった皆様、ありがとうございます。

ちなみに、イミディエイトウィンドウで?rngObj.Addressと打ち込んで表示する方法もあります。
1~2回表示するだけならこちらもオススメです。

他の「VBA」の記事はこちらからどうぞ