2017-03-02 68 views
0

我正在嘗試將具有數字的行復制到另一個工作表。我已經從另一個論壇獲得了SpecialCells代碼,但有問題將數據粘貼到另一個表單中。感謝您的幫助!將特殊單元格複製到另一個工作表上的下一個空行

這裏是我的代碼:

Sub Sample() 

Dim ws As Worksheet 
Dim rng As Range 
Dim ws1 As Worksheet 

On Error GoTo Whoa 

Set ws = Sheets("3") 
Set ws1 = Sheets("Sheet1") 

With ws 
    Set rng = .Cells.SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow 

    Copy ws1.Range("A" & lastrow) 
End With 

Exit Sub 
End sub 
+0

哪裏粘貼?你的'Whoa'錯誤處理程序在哪裏? 'lastrow'在哪裏定義/聲明? – BruceWayne

+0

@BruceWayne他們不錯過粘貼操作,他們錯過了應該在'Copy'之前的'rng.' :)複製命令之後的參數是目的地,所以它應該是'rng.Copy ws1 .Range(「A」&lastrow)'。你的其他觀點。 – Wolfie

回答

1

你可以試試這個:

Sub Sample() 
    With Sheets("Sheet1") 
     Sheets("3").UsedRange.SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1) 
    End With 
End sub 
+0

這個作品!非常感謝!! :) – Snflq

+0

不客氣 – user3598756

+0

我試圖使用相同的代碼來複制非空單元格的數據行。我已經刪除了「SpecialCells(xlCellTypeConstants,xlNumbers)」部分,但公式不再起作用。第二次運行宏時,新數據被複制到第二個數據填充行而不是下一個可用行。 – Snflq

0

我不;噸看到anywehre在你的代碼,您定義和設置lastrow

修改你的最後一節:

With ws 
    Set Rng = .Cells.SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow 

    lastrow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row + 1 ' <-- get the last row in column A '<-- just in case you are looking for the first empty row in Column A 
    Rng.Copy ws1.Range("A" & lastrow) '<-- you need to add the Rng.Copy 
End With 
0

請嘗試代碼below.This將命名爲「3」,而「sheet1」工作表複製數據。

Sub Sample() 

Dim ws As Worksheet 
Dim rng As Range 
Dim ws1 As Worksheet 

Set ws = Sheets("3") 
Set ws1 = Sheets("Sheet1") 
LastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row 

Set rng = ws.Cells.SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow 
rng.Copy 
ws1.Activate 
Range("A" & LastRow + 1).Select 
ActiveSheet.Paste 

End Sub 
+0

這個作品,謝謝:) – Snflq

相關問題