2013-06-21 54 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

相關問題