

VBAプログラムでは、別のExcelブックにあるファンクションを呼び出して実行できます。
ここでは、「Book2.xlsm」から「Book1.xlsm」のマクロを呼び出す方法を例に紹介します。

① Book1.xlsmに次のプログラムを用意します。
Option Explicit
Public Function Pro_func() As String
' 処理は戻り値を返すだけ。
Pro_func = "Book1.xlsmのファンクションPro_func()が呼ばれた!"
End Function
② Book2.xlsmに次のプログラムを用意します。
Option Explicit
Public Sub Sample_Run_02()
Dim ret As String
' ファンクションを呼出す。
ret = Application.Run("Book1.xlsm!Pro_func")
MsgBox ret, vbOKOnly
End Sub
③ Book1.xlsmとBook2.xlsm の両方を開きます。

④ Book2.xlsmの Sample_Run_02() を実行します。

Book2からBook1のファンクションを呼び出しできました!




コメントを残す