我正在尝试编写代码来复制未知数量的行并将其粘贴到单独工作表中的特定位置。到目前为止,我有下面的代码。我想从列A:F复制数据,对于未知的行数,并从H6开始粘贴它。我在代码“Range(”A1“,lastrow)中收到错误。选择”。错误是“对象工作表的方法范围失败”。感谢所有帮助。
Dim lastrow As Long
Dim copyrange As Range
lastrow = Range("A65536").End(xlUp).Select
Range("A1", lastrow).Select
Selection.Copy
Sheets("Final").Select
Range("H6").Select
ActiveSheet.Paste
End Sub
答案 0 :(得分:4)
如果您要对此进行调试,则可以指定lastRow
的值为-1
。摆脱那里的.Select
(就此而言,无处不在)。您修复的范围.Copy
中也有错误:
Sub Test()
Dim lastrow As Long
lastrow = Range("A65536").End(xlUp).Row
Range("A1:F" & lastrow).Copy Destination:=Sheets("Final").Range("H6")
End Sub
或者,只是转移值,我认为这样做(未经测试):
Sub Test2()
Dim copyRange as Range
Set copyRange = Range("A1:F" & Range("A65536").End(xlUp).Row)
With copyRange
Sheets("Final").Range("H6").Resize(.Rows.Count, .Columns.Count).Value = .Value
End With
End Sub