- ベストアンサー
2つのEXCELのブック間でのマクロの呼び出し方
お世話になります、 あるExcelのブック「Book1」でセルが選択された イベントで別のブック「Book2」に登録されている マクロ「Macro(str,number)」を呼び出したいのですが どのようにすればいいでしょうか? よろしくお願いします。 具体的なソース等がありましたらよろしくお願いします。
- みんなの回答 (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