Ich versuche, die Werte von einem Blatt zum anderen zu filtern und kopieren, aber ich bekomme in einem meiner Codes stecken. Ich kann nicht scheinen, als Werte eingefügt zu werden oder nicht die korrekte Syntax kennen.vba Filter und fügen Sie als Werte
Set ws1 = Worksheets("AT")
Set ws2 = Worksheets("BT")
lr1 = ws1.Cells(ws1.Rows.Count, "B").End(xlUp).Row
lr2 = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row + 1
With ws1.Range("B2", "R" & lr1)
.AutoFilter Field:=1, Criteria1:="#N/A"
.Copy Destination:=ws2.Cells(lr2, "A")
.PasteSpecial (XlPastevalues, , ,)
End With
Der Rest der Codes durch folgen ohne .pastespecial Linie damit ist, warum ich nicht alles kopieren bin hier mit Ausnahme des Abschnitts Ich habe Probleme mit. Im Moment habe ich nicht das folgende Format, da ich am Ende Werte in die vorhandenen Daten einfüge, also füge ich nur Daten (mehr Zeilen) hinzu. Und es gibt Formate auf dem bestehenden, deshalb will ich mich nicht damit anlegen.
Worksheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues
Auch wenn jemand kann auch eine andere Art und Weise vorschlagen Filter zu tun, lassen Sie mich wissen. Meine aktuellen Codes funktionieren nur, wenn mein Bereich eine Tabelle ist. Wenn ich also keine Tabelle dafür erstelle, wird sie fehlschlagen. Meine Daten sind von A1 bis R und es gibt einen Header. Ohne es als Tabelle zu setzen, wird es von B2 filtern und es wird einen falschen Filter haben. Siehe unten. Wenn ich filtere und kopiere, muss ich den Header nicht in meine vorhandenen Daten kopieren.
Danke, es funktioniert super! Gibt es eine Möglichkeit, einen Filter zu erstellen, ohne den Bereich als Tabelle zu definieren? Wie ich es in meiner zweiten Hälfte meiner Ausgabe beschrieben habe? Ihre Codes funktionieren einwandfrei, aber ich muss meinen Datenbereich als Tabelle festlegen. – sc1324
ist sicher, verwenden Sie einfach die .ListObjects ("Table1") Referenz in etwa genauso. Wenn Sie ein Makro aufzeichnen, erhalten Sie die genaue Syntax. Wahrscheinlich einfacher als zu versuchen, es von Hand zu bekommen. Nimm einfach das bisschen, was du brauchst, aber es ist nah dran. Ich möchte zunächst alle Filter löschen und dann filtern, was ich sehen möchte. Wenn Sie Ihre Kopiermethode auf die Tabelle anwenden (dies ist aus dem Speicher, also nicht 100% ig sicher), verwenden Sie den .DataBodyRange und Sie müssen möglicherweise nur sichtbare Zellen explizit angeben, aber ich erinnere mich im Moment nicht. –
Danke, ich werde mehr über das Thema erfahren und noch einmal, Ihre Methode funktioniert ganz gut !! Danke – sc1324