我有一个包含宏和包含其打开这样的数据隐藏工作簿中的主要工作簿:Excel的VBA selection.copy不起作用
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")
代码后来我选择在数据工作簿中的范围和复制,并粘贴到主要工作簿:
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
选择的整数。选择工作正常(打开可见性时我可以看到它),但复制方法变得混乱。
我试着首先激活creditWorkbook
,试图指定要拷贝的内容像这样creditsWorkbook.Worksheets("List1").Selection.Copy
,但它只是给出了一个错误object doesn't support this property or method
。我不知道该怎么做才能获得所需的结果。
任何帮助表示赞赏。
为什么选择> activate> copy。更改第一个选择来复制'creditsWorkbook.Worksheets(“List1”)。范围(creditsWorkbook.Worksheets(“List1”)。单元格(5,1),creditsWorkbook.Worksheets(“List1”)。单元格(lastStr3,lastStb3)) .Copy' –
@Tim Wilkinson,我改变了你的建议,但是我现在在粘贴时出现错误:'Pastespecial方法的范围类失败'。不知道为什么。如果它复制范围,粘贴它有什么问题? – Ans