こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excelvbaでのローカルウインドウ

標題を知りまして、便利で使っていますが、
例えば、

Dim m,n as integer
range("B2") = m + n

などのときに、m nは見られるのですが、
range("B2")の中身は見られません。

カーソルを合わせる(上に持ってゆく)と表示されるときもありますが、
基準が分かりません。

見る方法はあるのでしょうか、
それともこれは無理なのでしょうか。

宜しくお願いします。

投稿日時 - 2014-04-20 19:34:18

QNo.8562286

暇なときに回答ください

質問者が選んだベストアンサー

ローカルウィンドウには「変数の値」が表示されます。変数に取り込まれていないモノを見ることはできません。

従って、
sub macro1()
 dim m as integer, n as integer
 dim h as range

 set h = range("B2")
 range("B2") = m + n
end sub
みたいに、変数に取り込むことでセル(の中身)をウォッチすることができるようにはなります。

ただし「セルの値」というのはそれ単独でのオブジェクトでは無いため、セルの値だけを変数にリンクするということはできません。

投稿日時 - 2014-04-20 21:33:51

お礼

早速有り難うございます。
>ローカルウィンドウには「変数の値」が
 よく分かりました。
 単純に「値が見える」ではないのですね。
 納得です。

 一度クッションする(2番の方の言うように定義する)
 ということかと。

 今後必要なときには使ってみます。
 お世話になりました。

投稿日時 - 2014-04-21 05:54:20

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

VBAで定義したかどうか、が分かれ目です。

上記の場合、Dimにて変数が定義されています。
(mはVariant型、nはInteger型)。

この場合、マウスカーソルを重ねることで、簡単に変数の中身を知ることが出来ます。
一方、RangeオブジェクトはVBAにて定義していないので、中身を見ることが出来ません。

例えば、右辺にかっこ()をつけて、
range("B2") = ( m + n )

として、右辺の”(”にマウスカーソルを合わせると、range("B2")に入る値を確認することができます。

投稿日時 - 2014-04-20 21:37:41

お礼

早速有り難うございます。
>VBAで定義したかどうか、が
 了解です。

また、
>例えば、右辺にかっこ()をつけて、
 いいことを聞きました。
 今度やってみます。

お世話になりました。

投稿日時 - 2014-04-21 05:57:16

あなたにオススメの質問