我需要将一列从一个工作簿复制到另一个工作簿。
y.Sheets("data").Range("A2:A1048576").Clear 'delete contents of target columns first
x.Sheets("file").Range("C:C").Copy 'copy column from another sheet
y.Sheets("data").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial xlPasteValues
我尝试将其粘贴到从 A2
开始,因为 A1
是我的标题。
我收到应用程序定义或对象定义的错误
最佳答案
当您不需要时,最好不要引用整个列(数百万个单元格):
With y.Sheets("data") ' reference sheet "data" in workbook 'y'
.Range("A2", .Cells(.Rows.Count, "A").End(xlUp)).ClearContents ' clear 'referenced sheet column "A" cells from row 2 down to last not empty one
End With
With x.Sheets("file") ' reference sheet "file" in workbook 'x'
With .Range("C1", .Cells(.Rows.Count, "C").End(xlUp)) 'reference referenced sheet column "C" cells from row 1 down to last not empty one
y.Sheets("data").Range("A2").Resize(.Rows.Count).Value = .Value ' paste referenced range values to workbook "y" sheet "data" starting from cell A2
End With
End With
关于vba - Excel VBA - 粘贴到标题下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50267348/