VBA应用程序.run“;本工作手册;属性语法

VBA应用程序.run“;本工作手册;属性语法,vba,excel,Vba,Excel,我正在生成一个宏,该宏调用同一WB中的其他宏,VBA引用“'file name.xlsm'my macro”,我希望它改为访问this.workbook属性。 它的语法是什么 我的密码是: Application.Run _ "'Player Transaction Report sorted by name.xlsm'!Generate_tables" 如果Generate\u Tables是在标准模块中编写的公共过程(例如,Module1),那么它是全局范围的,您可以这样

我正在生成一个宏,该宏调用同一WB中的其他宏,VBA引用“'file name.xlsm'my macro”,我希望它改为访问this.workbook属性。 它的语法是什么

我的密码是:

Application.Run _
        "'Player Transaction Report sorted by name.xlsm'!Generate_tables" 

如果
Generate\u Tables
是在标准模块中编写的公共过程(例如,
Module1
),那么它是全局范围的,您可以这样调用它:

Generate_Tables
或者,您可以使用模块名称对其进行限定:

Module1.Generate_Tables
换句话说,调用您自己的
Sub
过程的语法与调用任何引用类型库中的任何其他
Sub
过程的语法完全相同

执行此操作时:

Application.Run "DoSomething"

您正在调用
应用程序
对象上的
运行
方法,并将
“DoSomething”
作为参数传递给该方法。

不确定您的意思,但从同一工作簿中的一个模块调用宏(如果模块不是私有的)但是另一个或同一个模块使用:调用MyMacroname,如果e。G如果宏位于另一个模块中,或者它位于工作表对象中,则可以通过添加地名来调用此宏。G对于名为test的module1宏:调用module1.test;和e。G工作表1(代码隐藏)和名为ws1Test的宏:调用工作表1.ws1Test等等。你搞定了!谢谢你,伙计,真是魅力四射!“电话”正是我想要的needed@Mikisz仅供参考
Call
是一个不推荐使用的过时关键字。您可以只编写
Sheet1.DoSomething
,而不是
调用Sheet1.DoSomething