• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA Dialogsheetについて)

エクセルVBA Dialogsheetについて

このQ&Aのポイント
  • 今現在表示されているダイアログシートの名前を取得したいのです。
  • ワークシート上にフォームのボタンを配置し、ボタンに以下のマクロを登録しておけば正しくシート名を返します。
  • エクセル2000でのダイアログシートでのシート名の取得方法について、良い方法があるかどうか質問です。

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

  • ベストアンサー
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

Dialogシートはアクティブになっていない。 アクティブなのはDialog ActiveSheet→ActiveDialog 古いプロパティなので隠されてるらしいが、ダイアログシート自体、古いしね

merlionXX
質問者

お礼

古いやつだと、お笑いでしょうが・・(笑) ありがとうございます!! これでワークシートでもダイアログでも、たった一つのマクロで名前が取得できるようになり、そこから先の分岐ができるようになりました。 助かりました。 Sub test01() Dim ds On Error Resume Next Set ds = ActiveDialog On Error GoTo 0 If ds Is Nothing Then MsgBox ActiveSheet.Shapes(Application.Caller).Parent.Name Else MsgBox ds.Shapes(Application.Caller).Parent.Name End If End Sub

関連するQ&A