• ベストアンサー

2つのEXCELのブック間でのマクロの呼び出し方

お世話になります、 あるExcelのブック「Book1」でセルが選択された イベントで別のブック「Book2」に登録されている マクロ「Macro(str,number)」を呼び出したいのですが どのようにすればいいでしょうか? よろしくお願いします。 具体的なソース等がありましたらよろしくお願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

>セルが選択されたイベントで がどのセルでもいいのか不明ですが、例えば、 Book1のSheet1のセル範囲A1:B2をクリックしたら、Book2のSheet1のBook2_Macroを呼ぶ例です。 Book2のMacroは適当な例です。引数も適当です。 ご参考に。(似たような質問がありました?) Book1のSheet1のマクロ ↓ ' *** A1:B2のセル範囲を選択したらSheet2のマクロが動く例 *** Private Sub Worksheet_SelectionChange(ByVal Target As Range)   If Not Application.Intersect(Target, Range("A1:B2")) Is Nothing Then     'A1:B2のセル範囲を選択したら動きます     Workbooks("Book2").Worksheets("Sheet1").Activate     ActiveSheet.Book2_Macro "AAA", 123 '引数は適当です   End If End Sub Book2のSheet1のマクロ ↓ ' メッセージを出すだけの例 Sub Book2_Macro(str As String, number As Long)   Dim myMsg As String 'メッセージ   myMsg = "Book1 の Sheet1 から" & vbCrLf   myMsg = myMsg & "文字:" & str & vbCrLf   myMsg = myMsg & "数値:" & number & vbCrLf & " で呼び出されました。"   MsgBox myMsg End Sub

関連するQ&A