マクロをコンボボックスに割り当てていると述べたので、それは確かにフォーム コントロール コンボボックスであり、activeX コントロールではありません。したがって、 Application.Caller は、マクロを呼び出しているコンボボックスの名前を確実に返します。これを試しましたか:
MsgBox "The name of the combobox is " & Application.Caller
編集:スプレッドシートを受け取った後。
だから基本的に:2つのエラーがあります:
Workbooks("Test2").Worksheets("Sheet3").Activate
ドロップダウンをクリックすると、必要なシートが常にアクティブになるため、上記の行は必要ありません。Test2 はワークブックではないため、マクロの主なエラーが発生しています。Workbooks("Test2.xlsm") を使用する......
次に、次の行に進みます。
これを使用しました:
ActiveSheet.Shapes(Application.Caller).Name
Name プロパティが String を返すようになりました。したがって、その値を変数に格納する必要があります。どの変数にも格納していないため、エラーが発生しています。これを使って:
Dim shpName as String
shpName = ActiveSheet.Shapes(Application.Caller).Name
エラーが削除されます。スプレッドシートも返送しました。ご不明な点がございましたら、お気軽にお問い合わせください。
ありがとう、V