継承されたスプレッドシート (作成日は 1998 年またはそれ以前) で作業しており、ダイアログ シートの参照を変更する必要があります。実行マクロ リストにマクロが表示されない、または同様のもの、シート自体が VBA プロジェクト エクスプローラー ウィンドウに表示されない、これは、ここで読んだ他の質問からの Excel 4.0 マクロのように聞こえます。 . 多くの人が、Excel 4.0 マクロを最初から書き直すことを提案していますが、問題は、マクロが実際に何をするかを知らないことです。
具体的には、マクロはコマンド ボタンにリンクされており、[マクロの割り当て] をクリックすると、[マクロ名] テキスト ボックスにマクロの名前が書き込まれますが、実際にはドロップダウン メニューには表示されません。[マクロ名] テキスト ボックスに同じ名前を入力して、このマクロを別のコマンド ボタンに割り当てようとすると、マクロが使用できないというエラーが表示されます。
(スクリーンショットのリンク: http://imgur.com/HlxvLV2 )
ここでソリューションを使用してみました ( VBE で Excel シートが表示されません)。興味のあるシートは実際にはワークシートではないため、ws をダイアログ シートとして宣言しました。
Public Sub TestAccessToXL4MacroSheet()
Dim ws As DialogSheet
Set ws = ThisWorkbook.ActiveSheet ' succeeds
Debug.Print ws.Name ' outputs "Macro1"
Set ws = Worksheets("Macro1") ' fails: "Subscript out of range"
End Sub
その結果、シートの名前が直接のウィンドウに表示されます。(スクリーンショットのリンク: http://imgur.com/C1L2SQP )
これは意図した結果ですか?シート名は既にタブとして表示されているので、VBA エディタでシート自体を表示したい。