Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从另一个工作簿在工作簿中运行vba宏_Vba_Excel - Fatal编程技术网

从另一个工作簿在工作簿中运行vba宏

从另一个工作簿在工作簿中运行vba宏,vba,excel,Vba,Excel,我试图在WorkbookB中编写一个宏,打开另一个WorkbookA并在sheet1中运行宏 我在谷歌上搜索发现了两种方法: 使用Application.Run 但是我得到了错误1004:要么宏不存在于这张表中,要么宏被停用 使用自动宏 这里我得到一个错误:1004 RunAutoMacros方法不起作用 你知道怎么了吗?或者我怎样才能做得更好呢?我认为空间是问题所在。尝试删除它。i、 换这一行 Application.Run "C\Mtest\WorkbookA.xlsb !macroA"

我试图在WorkbookB中编写一个宏,打开另一个WorkbookA并在sheet1中运行宏

我在谷歌上搜索发现了两种方法:

使用Application.Run

但是我得到了错误1004:要么宏不存在于这张表中,要么宏被停用

使用自动宏

这里我得到一个错误:1004 RunAutoMacros方法不起作用


你知道怎么了吗?或者我怎样才能做得更好呢?

我认为空间是问题所在。尝试删除它。i、 换这一行

Application.Run "C\Mtest\WorkbookA.xlsb !macroA"


我认为空间是问题所在。尝试删除它。i、 换这一行

Application.Run "C\Mtest\WorkbookA.xlsb !macroA"

假设macroA位于工作簿C\Mtest\WorkbookA.xlsb的sheet1的代码模块中,则应使用

Application.Run "'C\Mtest\WorkbookA.xlsb'!sheet1.macroA"
假设macroA位于工作簿C\Mtest\WorkbookA.xlsb的sheet1的代码模块中,则应使用

Application.Run "'C\Mtest\WorkbookA.xlsb'!sheet1.macroA"

最简单的方法是向XLSTART文件添加宏,以便将其连接到所有打开的Excel实例中,保存为.XLA或.XLAM。WIn7及更新版本的文件位置应为%USERPROFILE%\AppData\Roaming\Microsoft\Excel\XLSTART。我个人倾向于把快速带键连接到宏,我想,如果我经常运行它。最简单的方法是添加宏到XLSTART文件,所以它附加到所有打开的Excel实例保存为.xLA或.xLAM。WIn7及更新版本的文件位置应为%USERPROFILE%\AppData\Roaming\Microsoft\Excel\XLSTART。如果我经常运行宏,我个人倾向于将快速功能区按钮附加到我想要的宏上。
Application.Run "'C\Mtest\WorkbookA.xlsb'!sheet1.macroA"