1

我正在尝试编写代码来复制未知数量的行并将其粘贴到单独工作表中的特定位置。到目前为止,我看到了下面的代码。我想从 A:F 列复制数据,获取未知的行数,然后从 H6 开始粘贴。我在代码“Range("A1", lastrow).Select" 中遇到错误。错误是“对象工作表的方法范围失败”。感谢所有帮助。

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
4

1 回答 1

4

如果您要对此进行调试,您会发现 is 的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
于 2013-06-21T18:07:30.850 回答