好的,我觉得这很愚蠢,因为有很多问题要求同样的事情。但由于某种原因,它只是不适合我。 我有两个工作簿“Historical Data.xlsm”和“Reporting File 2.0.xlsm”,“Reporting File 2.0”受到保护,因此我无法在其中创建任何新的宏。我想通过单击“报告文件2.0”中的(分配宏)按钮在“历史数据”中运行宏
所以我在“历史数据”中创建了两个宏,一个是我要运行的宏,另一个是运行此宏的宏,代码为:
Sub RunMacro()
Application.Run ("Historical Data.xlsm!ShiftRow1")
End Sub
但我不断收到“运行时错误:1004:对象'_Application'的方法'运行'失败”
如果有人可以指导我进入正确的直接,那将非常感激。
答案 0 :(得分:4)
您缺少单引号(如果您的工作簿名称有空格,则必须有)。
如果ShiftRow1
确实在历史数据.xlsm 中,您应该这样做:
Sub RunMacro()
Application.Run "'Historical Data.xlsm'!ShiftRow1"
End Sub