2013-06-21 48 views
0

我想写一个代码复制一个未知数量的行并将其粘贴到一个特定的位置在一个单独的工作表。到目前为止,我的代码如下所示。我想要复制列A:F中的数据,获取未知行数,然后从H6开始粘贴。我在代码“Range(”A1“,lastrow)中出现错误。选择”。错误是“对象工作表的方法范围失败”。所有的帮助表示赞赏。复制并粘贴不明范围到Excel中不同工作表使用VBA

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

你需要*副本*它(保存格式/等)或者只是传输值可以吗? –

+0

只要有必要就传输这些值就行了。 – Mike

回答

4

如果你要调试这一点,你会dicsover说的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 
+0

感谢您的回复。当我运行你的代码时,我得到了一行类型不匹配错误“lastrow = Range(”A65536“)。End(xlUp)。当我调试它时,只是将不正确的黄色代码行告诉我错误类型..我是新来的VBA – Mike

+0

尝试'范围(“A65536”)。完(xlUp).Row',而是和我修改我的答案。 –

+0

我只是强调,准确地复制你的代码并粘贴它。如果你想就像我能看到它一样,因为我可以向你发送我的Excel表格,我试图用示例数据解决它。两种代码都不起作用 – Mike

相关问题