55本目 別ブックのマクロを実行

VBA100本ノック

VBA100本ノック 55本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ


問題

#VBA100本ノック55本目
以下のVBAを作成。
・ブックと同一フォルダの”test.xlsm”を「Workbook_Open」を実行せずに開く
・test.xlsmのModule1のFunction multに任意の数値を2つ渡して結果を受け取る
・test.xlsmを閉じる
・受け取った結果をMsgBoxで表示する
※test.xlsmのVBAは画像とリプにて

解答

Sub 別ブックのマクロを起動()

    Application.EnableEvents = False
    
    Dim wb As Workbook
    Dim wbName As String: wbName = ThisWorkbook.Path & "\test.xlsm"
    Dim McrName As String: McrName = "test.xlsm!mult"
    Dim rtn
        
    Set wb = Workbooks.Open(wbName, , True)
    
    rtn = Application.Run(McrName, 10, 20)
    
    wb.Close
    
    MsgBox rtn

    Application.EnableEvents = True

End Sub
新人君
新人君

初の別ブックのマクロ実行ですね!

ブチョ
ブチョ

俺は5万回やったことあるけどな!

新人君
新人君

5万回?

コメント

タイトルとURLをコピーしました