我试图在一个不同的工作表上调用一个子,但我得到了一个运行时错误信息。
具体来说,我有两个工作表,在这些工作表中有多个VBA子项目。在其中一个VBA项目中(例如workbook1.xlsm),我有以下代码。
Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub
但我得到了以下错误。两个工作表上的宏都已启用。在两个工作表中,子程序都在模块1中。
无法运行宏'Workbook.xlsm! PrepareTheTables'。该宏可能在>本工作簿中不可用,或者所有宏都被禁用。
我还尝试了Application.Run "Python solution macro.xlsm! Module1.PreparetheTables"
,但没有成功。
根据Microsoft's KB,尝试允许对Visual Basic项目进行程序化访问。
1.点击Microsoft Office按钮,然后点击Excel选项。 2.2. 单击信任中心。 3.3. 单击 "信任中心设置"。 4.4. 单击 "宏设置"。 5.点击选择信任对VBA项目对象模型的访问复选框。 6.6.点击确定,关闭Excel选项对话框。 7.你可能需要关闭并重新打开EXCEL。
删除你的名字宏,然后重新建立。 我这样做了,宏就成功了。