运行时错误1004调用通过vba打开的另一个工作簿中的macros

以下代码用于工作,但现在返回运行时错误1004。

Sub ResizeListObject_DateRange() ' Do Some things ... Call HubLink.HubLaunch Application.Run "'" & MacroHub & "'!" & "ResizeListObject", TableName, LstRow Call HubLink.HubClose End Sub 

下面是HubLaunch子。 它打开第二个工作簿,其中包括一个macros,然后要求运行。

我可以通过注释掉“Call HubLink.HubLaunch”行来避免运行时错误,而是在执行子“ResizeListObject_DateRange”之前手动打开MacroHub.xlsm文件(通过文件>打开> [select我的文件])。

在即时窗口中,我validation了这一点?Workbooks.Count = 2.我不明白为什么我的HubLaunch子版打开MacroHub.xlsm工作簿的方式,使得它的macros无法访问第一个工作簿。

任何人都可以解释错误?

谢谢。

  ' Opens the Workbook that stores all common macros Sub HubLaunch() ' The current workbook Dim WkBk As String WkBk = ActiveWorkbook.Name Dim WkBk_Hub As Workbook ' If not already launched, open the Common workbook that stores all common macros On Error Resume Next Set WkBk_Hub = Workbooks(MacroHub_Path & MacroHub_FName) On Error GoTo 0 If WkBk_Hub Is Nothing Then Set WkBk_Hub = Workbooks.Open(MacroHub_Path & MacroHub_FName) End If ' Reselect the calling workbook Workbooks(WkBk).Activate End Sub