excel - 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")
许多类似的语法都具有相同的错误。提前致谢!
解决方案
尝试这个。您需要使用文件名正确构建字符串。
Sub test1()
Dim wb1 As Workbook
Set wb1 = Workbooks.Open("X:\ ...\Book2.xlsm")
Application.Run "'" & wb1.Name & "'!test2"
End Sub
推荐阅读
- html - 在 CSS 中选择同一类的特定元素
- angular - 不同实例的相同组件之间的角度组件交互
- reactjs - React Metronic 主题项目运行报错
- html - 边距底部不起作用并显示间隙(html 和 css)
- java - __consumer_offsets 主题在使用 zookeeper 和 bootstrap-server 描述时显示不同的配置
- python - ValidationError 没有打印在我的网站上
- java - 使用“下一个”和“上一个”按钮 Java 移入“字符串数组”
- mysql - 如何在 SQL 中使用数据透视表
- usersnap - usersnap `user` 对象中的 `userId` 是什么?
- html - 仅当另一个元素不在屏幕上时才显示一个元素