- ベストアンサー
Shをウォッチウインドウに登録して値を確認した時
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub Workbook_NewSheet(ByVal Sh As Object) Debug.Print Sh.Parent.Name End Sub ↑を、試してみてください。 どうやら、親オブジェクトとの関連付けが未定義のままイベントが発効しているようですね。 一度でもSh.Parentを参照すれば、以降、ブックが開いている間は ウォッチウィンドウ、ローカルウィンドウ、共に、正しく表示されます。 値に何も入っていない訳ではなくて、Propertiesが確定していないから表示できない、 といったところでしょうか。 何故、そういう仕様にしているのか?ということはわかりません。 ウォッチウィンドウの場合はShの代わりにActiveSheetを指定すれば、不足はないですから、 MSも仕様を直す気にならないのかも知れませんね。 むしろ、ローカルウィンドウに表示されないことの方が、問題あり、と私は思いますけれど。
その他の回答 (3)
- cj_mover
- ベストアンサー率76% (292/381)
#2、撤回します。 そんなに単純な話ではなかったです。 失礼しました。
お礼
ありがとうございます。
- WindFaller
- ベストアンサー率57% (465/803)
VBA自体の質問とは違うような気がします。 ずいぶん、ややこしい設定をして、それで、うまく行っていないのは、なぜかと言われても、実務上の問題とは違うわけですね。 ウォッチウィンドウを見る限りは、Shって、Objectだから、それ自体は取れているわけです。確かに、Shは、変数ではあるけれども、ウォッチ式は、その中の「値」をみるためではないでしょうか?Shでしたら、.Name や .Index などの見れるプロパティを「ウォッチ式の編集」でつけます。この「変数」は、変化する値だと思います。 こういう場合、私は、ローカルウィンドウだけを使って内容を確認します。そのほうが早いからです。
お礼
ありがとうございます。
- bin-chan
- ベストアンサー率33% (1403/4213)
> Shをウォッチウインドウに登録して shには.(ドット)があるから、Sh.nameまで指定して初めて変数となるのでは?
お礼
ありがとうございます。
お礼
ありがとうございます。