从隐藏工作簿应用程序的Excel vba selection.copy不起作用

我有一个主要的工作簿,其中包含macros和一个隐藏的工作簿,其中包含打开这样的数据:

Dim ExcelApp As Object Set ExcelApp = CreateObject("Excel.Application") ExcelApp.Visible = False ExcelApp.ScreenUpdating = False ExcelApp.DisplayAlerts = False ExcelApp.EnableEvents = False Dim creditsWorkbook As Workbook Set creditsWorkbook = ExcelApp.Application.Workbooks.Open("P:\2017\" & DATA & ".xlsx") 

在后面的代码中,我在该数据工作簿中select一个范围,并将其复制并粘贴到主工作簿中:

 creditsWorkbook.Worksheets("List1").Range(creditsWorkbook.Worksheets("List1").Cells(5, 1), creditsWorkbook.Worksheets("List1").Cells(lastStr3, lastStb3)).Select creditsWorkbook.Worksheets("List1").Activate 'creditsWorkbook.Worksheets("List1").Selection.Copy '<--- error Selection.Copy <--- works, but copies from the Main workbook wrong stuff Windows("Main.xlsm").Activate Sheets("Credit portfolio").Select Range("a4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

lastStr3lastStb3只是包含从creditsWorkbookselect的行数和列数的整数。 select工作正常(我可以看到它打开可见性时),但复制方法变得混乱。

我尝试先激活creditWorkbook ,试图指定要复制的东西像这样creditsWorkbook.Worksheets("List1").Selection.Copy ,但它只是给出一个错误object doesn't support this property or method 。 我不知道该怎么做才能得到所需的结果。

任何帮助表示赞赏。

尽可能避免使用Select

 With creditsWorkbook.Worksheets("List1") .Range(.Cells(5, 1), .Cells(lastStr3, lastStb3)).Copy End With Windows("Main.xlsm").Sheets("Credit portfolio").Range("A4").PasteSpecial_ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False