简体   繁体   中英

Copy Special Cells to next empty row on another sheet

I am trying to copy rows with numbers to another worksheet. I have obtained the SpecialCells code from another forum but have problems pasting the data into another sheet. Thank you for your help!

Here is the code I have:

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

You could try this:

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

I don;t see anywehre in your code that you defines and set lastrow .

Modify your last section to:

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

Please try the code below.This will copy data from sheet named "3" to "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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM