Excel – Can Excel VBA call Macro in Different Macro Workbook

microsoft excelmicrosoft-excel-2013vba

Can VBA code in an excel spreadsheet call a different XLSM Workbook file's Macro?

I have a local XLSM that needs to call a method in a different XLSM file, how can that be done?

Best Answer

Open file workbook, close if already open

codeWorkBookPath = "Directory\"
codeWorkBookName = "file.xlsm"
codeWorkBookFullPathName = UCase(Trim(codeWorkBookPath)) &         
UCase(Trim(codeWorkBookName))
codeWorkbookAlreadyOpen = CommonWorkbook.isWbOpen(codeWorkBookName)
If Not codeWorkbookAlreadyOpen Then
 Workbooks.Open Filename:=codeWorkBookFullPathName, UpdateLinks:=False, 
 ReadOnly:=True
End If

activate the starting spreadsheet

Workbooks(startWorkBook).Activate
Sheets(startWorkSheet).Activate

Run the macroName

argString = "'" & Trim(codeWorkBookName) & "'!" & Trim(macroName)
APPLICATION.Run argString
Related Question