Vba 尝试从另一工作簿在一个工作簿中执行宏时出错
我每天都要刷新和发布大量报告,我正试图在一个单独的电子表格中编写一个宏,打开每个报告,在每个工作簿中运行“刷新”宏,然后关闭工作簿。以下是我目前掌握的代码:Vba 尝试从另一工作簿在一个工作簿中执行宏时出错,vba,excel,Vba,Excel,我每天都要刷新和发布大量报告,我正试图在一个单独的电子表格中编写一个宏,打开每个报告,在每个工作簿中运行“刷新”宏,然后关闭工作簿。以下是我目前掌握的代码: Sub Reports() ' ' Reports Macro ' Application.Workbooks.Open ("C:\Users\mmarsh\Documents\Daily Reports\Daily Report.xlsm") Applicion.Run ("'Daily Report.xlsm'!Refresh") W
Sub Reports()
'
' Reports Macro
'
Application.Workbooks.Open ("C:\Users\mmarsh\Documents\Daily Reports\Daily Report.xlsm")
Applicion.Run ("'Daily Report.xlsm'!Refresh")
Workbooks("'Daily Report.xlsm'").Close
'
End Sub
执行时,代码在Application.Run行中断,出现以下错误:
运行时错误“424”:需要对象。我显然在代码中遗漏了一些东西,我已经阅读了一些不同的参考资料,但还没有找到解决方案。任何帮助都将不胜感激
我正在Windows 7 x64上运行Office 2010 x64 检查你的拼写
Applicion.Run
vs
Gary:)另外,OP似乎应该删除这一行的单引号:
工作簿('Daily Report.xlsm')。关闭
-->工作簿(“Daily Report.xlsm”)。关闭。谢谢你,加里。有时候它只是盯着你的脸看!Simoco-如果文件名中有空格,则需要额外的单引号。如果是DailReport,我就不需要它们,但因为它的每日(空格)报告需要单引号来正确地重新编码文件名。@MikeMarshall,它适用于应用程序。运行,但不适用于工作簿(…)。关闭。我刚刚对它进行了测试,使用单引号时,我得到的运行时错误下标超出了范围
,但是如果没有单引号,它工作得很好
Application.Run