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

エクセルVBAでApllication.Caller

このQ&Aのポイント
  • エクセルVBAでApllication.Callerを使用する方法とその制限について説明します。
  • Apllication.Callerはワークシート上のフォームのボタンなどから呼び出す場合に使用できますが、他のマクロから呼び出した場合にはエラーが発生します。
  • エラーを回避するためには、On Error Resume Nextステートメントを使用するか、代替の方法を探す必要があります。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Excel2000のVBAのヘルプで、「Caller プロパティの使用例」に載っている方法です。 TypeName関数で分岐処理をすればいいと思います。 Select Case TypeName(Application.Caller)   Case "Range"     v = Application.Caller.Address   Case "String"     v = Application.Caller   Case "Error"     v = "エラー"   Case Else     v = "不明です" End Select MsgBox "Visual Basic を呼び出した方法 = " & v

AQUALINE
質問者

お礼

早速ありがとうございました。 なるほどTypeName関数ですか。こんなのがあるんですね。勉強になります。 やってみたら他のマクロから呼び出すと「エラー」になることがわかり、使えました。ありがとうございます。