
vbaの事でよくわからないので教えてください。
エクセルなのですが
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Debug.Print Sh.Name
End Sub
で、
End Subの所にブレークポイントを設置して
Shをウォッチウインドウに登録して値を確認した時、値に何も入ってないのですがなぜですか?
Debug.Print Sh.Name
した時にシート名は取得されるのだから値は入ってるべきだと思うのですが
画像のように「変数なし」となります。

No.2ベストアンサー
- 回答日時:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Debug.Print Sh.Parent.Name
End Sub
↑を、試してみてください。
どうやら、親オブジェクトとの関連付けが未定義のままイベントが発効しているようですね。
一度でもSh.Parentを参照すれば、以降、ブックが開いている間は
ウォッチウィンドウ、ローカルウィンドウ、共に、正しく表示されます。
値に何も入っていない訳ではなくて、Propertiesが確定していないから表示できない、
といったところでしょうか。
何故、そういう仕様にしているのか?ということはわかりません。
ウォッチウィンドウの場合はShの代わりにActiveSheetを指定すれば、不足はないですから、
MSも仕様を直す気にならないのかも知れませんね。
むしろ、ローカルウィンドウに表示されないことの方が、問題あり、と私は思いますけれど。
No.4
- 回答日時:
#2、撤回します。
そんなに単純な話ではなかったです。
失礼しました。
No.3
- 回答日時:
VBA自体の質問とは違うような気がします。
ずいぶん、ややこしい設定をして、それで、うまく行っていないのは、なぜかと言われても、実務上の問題とは違うわけですね。
ウォッチウィンドウを見る限りは、Shって、Objectだから、それ自体は取れているわけです。確かに、Shは、変数ではあるけれども、ウォッチ式は、その中の「値」をみるためではないでしょうか?Shでしたら、.Name や .Index などの見れるプロパティを「ウォッチ式の編集」でつけます。この「変数」は、変化する値だと思います。
こういう場合、私は、ローカルウィンドウだけを使って内容を確認します。そのほうが早いからです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
リンク先のファイルを開かなく...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
病院側から早く来てくださいと...
-
Excel 数値の前の「 ' 」を一括...
-
精子に血が・・・
-
イタリアから帰国する際、肉製...
-
勃起する時って痛いんですか? ...
-
腕を見たら黄色くなってる部分...
-
VLOOKUP関数を使用時、検索する...
-
一番多く表示のある値(文字列...
-
エクセルで数式の答えを数値と...
-
彼女のことが好きすぎて彼女の...
-
エクセルで空白セルを含む列の...
-
精液の落とし方を教えてください
-
値が入っているときだけ計算結...
-
自動車学校について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報