2017-03-02 3 views
0

Ich versuche, Zeilen mit Zahlen in ein anderes Arbeitsblatt zu kopieren. Ich habe den Code "SpecialCells" von einem anderen Forum erhalten, habe aber Probleme, die Daten in ein anderes Blatt einzufügen. Danke für Ihre Hilfe! HierKopieren Sie spezielle Zellen in die nächste leere Zeile auf einem anderen Blatt

ist der Code, den ich habe:

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

Wo ist die Paste? Wo ist dein 'Who'-Fehlerhandler? Wo ist "Lastrow" definiert/deklariert? – BruceWayne

+0

@BruceWayne Sie vermissen keine Einfügeaktion, sie vermissen das 'rng.' welches vor dem' Copy' stehen sollte :) Das Argument nach einem Kopierbefehl ist das Ziel, also sollte es 'rng.Copy ws1 sein .Range ("A" & Lastrow) '. Deine anderen Punkte stehen. – Wolfie

Antwort

1

Sie konnten dieses versuchen:

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

Das funktioniert! Ich danke dir sehr!! :) – Snflq

+0

Sie sind willkommen – user3598756

+0

Ich habe versucht, den gleichen Code zu verwenden, um Zeilen von Daten zu kopieren, die keine leeren Zellen sind. Ich habe den Abschnitt "SpecialCells (xlCellTypeConstants, xlNumbers)" entfernt, aber die Formel funktioniert nicht mehr. Beim zweiten Ausführen des Makros werden die neuen Daten in die zweite datengefüllte Zeile anstelle der nächsten verfügbaren Zeile kopiert. – Snflq

0

I don t sehen anywehre in Ihrem Code, den Sie definiert und festgelegt lastrow.

ändern Sie bitte Ihren letzten Abschnitt:

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

Bitte versuchen Sie den Code below.This werden Daten aus Blatt kopieren Namen "3" auf "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

Das funktioniert, danke :) – Snflq

Verwandte Themen