macros不能find另一个
我想在工作簿B中使用当前文件(即工作簿A)中的macros运行macros – 我得到以下错误:
Run-time error '1004': Cannot run the macro 'Workbookname!Macroname'. The macro may not be available in the workbook or all macros may be disabled
现在,我检查了所有的拼写(即工作簿名称和macroname),他们都很好,但是当我去工作簿B,我无法find工作簿中可用的macros列表中的macros – 请指教!
工作簿B正在调用工作簿一个像这样的macros:
Set wbTemp = Workbooks.Open("Workbookname") Application.Run wbTemp.Name & "!" & macroName, folderName wbTemp.Close True
wbTemp.Name会使程序不喜欢的空格或其他字符。
我自己的代码:
StringVar = Application.Run("'" & Wb.Name & "'!Taille_de ", sh.Name)
taille_de
是函数, sh.name
是函数的参数。
并用参数调用sub:
Call Application.Run("'" & wb.Name & "'!Module11.son_par-type", Sh.Name)
要么
Application.Run "'" & wb.Name & "'!Module11.son_par-type " & Sh.Name
请根据您的需要调整代码。
打开VBE并使用CTRL + F确保过程实际上存在于wbTemp
工作簿中。
如果不存在,那就是你的问题。
我正在尝试在工作簿B中使用当前文件中的macros(即工作簿A)运行macros,
我怀疑这是你的问题。 你不能以这种方式调用macros。 如果它存在于文件A中,并且你想在文件B上运行它,那么你可以正常地调用它。 这当然假定你的程序是正确写入的,并且能够在其他工作簿文件上执行。 如果您依赖于ActiveWorkbook
, ThisWorkbook
或Select
方法,则可能会失败,因为它没有设置为在其他文件上运行。