首页 > 解决方案 > Application.Run 返回错误 438,不调用宏

问题描述

在一本工作簿中,我有

Sub test1()
Dim wb1 As Workbook

Set wb1 = Workbooks.Open("X:\****\****\****\Book2.xlsm")
Application.Run  "'X:\****\****\****\Book2.xlsm'!test2" 'ERROR HERE

End Sub

在另一个工作簿中,我有

Sub test2()

ThisWorkbook.Worksheets(1).Range("A1") = "Hi"

End Sub

但它与“对象不支持此属性或方法”保持错误

我试过了

Application.Run  "'Book2.xlsm'!test2"
Application.Run  "Book2.xlsm!test2"
Application.Run  ("'X:\****\****\****\Book2.xlsm'!test2")

许多类似的语法都具有相同的错误。提前致谢!

标签: excelvba

解决方案


尝试这个。您需要使用文件名正确构建字符串。

Sub test1()

Dim wb1 As Workbook

Set wb1 = Workbooks.Open("X:\ ...\Book2.xlsm")
Application.Run "'" & wb1.Name & "'!test2"

End Sub

推荐阅读