首页 > 解决方案 > 从另一个工作簿调用宏错误

问题描述

我正在尝试从另一个工作簿调用宏,但我不断收到以下错误。

无法运行宏

'IMECM_To... 

该工作簿中的宏可能不可用,或者所有宏都可能被禁用。

我已确保宏名称拼写正确,并确保宏拼写正确。
我在网上查看过,但无法弄清楚如何解决这个问题。
谢谢

这是代码

Sub move()

Dim wb As Workbook
Dim MacroFolder As String
Dim MacroWb As String

MacroFolder = "C:\Users\zhill\Desktop\macro learn\"
MacroWb = "IMECM_To_LDW_CSV_Format-20151023-for-2015Q3-for-udf-version-13.0.015.xlsm"

Set wb = Workbooks.Open(MacroFolder & MacroWb)

wb.Sheets("ALFA to Corp CSV").Cells(13, 2) = ThisWorkbook.Sheets("sheet1").Range("IntexFolderList").Cells(1, 1)
wb.Sheets("ALFA to Corp CSV").Cells(14, 2) = ThisWorkbook.Sheets("sheet1").Range("OutputFolderList").Cells(1, 1)
wb.Sheets("ALFA to Corp CSV").Cells(9, 9) = ThisWorkbook.Sheets("sheet1").Range("RunNbr").Cells(1, 1)

wb.Sheets("ALFA to Corp CSV").Application.Run (MacroWb & "!ALFAtoCorpCsvFormat")

End Sub

标签: vbaexcel

解决方案


如果工作簿名称包含空格或其他一些特定字符,则需要用单引号将名称括起来,如下所示:

Application.Run "'Book 1.xls'!MyMacroName"

资料来源:Ron deBruin:如何在 Excel 中使用 Application.Run?


为确保 Excel 中未禁用宏,您可以执行以下操作:
File> Options> Trust Center> Trust Center Settings> Macro Settings>Enable All Macros


推荐阅读