使用vba将未知范围复制并粘贴到excel中的其他工作表中

时间:2013-06-21 18:00:58

标签: vba copy-paste

我正在尝试编写代码来复制未知数量的行并将其粘贴到单独工作表中的特定位置。到目前为止,我有下面的代码。我想从列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

1 个答案:

答案 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