从隐藏工作簿应用程序的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
lastStr3
和lastStb3
只是包含从creditsWorkbook
select的行数和列数的整数。 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