Filterergebnis mit einem Makro kopieren
Hallo ihr Profis :-=)
ich habe ein makro geschreiben, dass die Spalte E Filtert und dann falls ein Ergebniss vorhanden ist kopieren und in eine andere Tabelle kopieren soll.
Eigentlich funktioniert es gut, ausser wenn keine Werte gefunden worden sind.
die schritte sind wie folgt:
Sheets(Name).Range("$A$1:$N$1").AutoFilter Field:=4, Criteria1:= _
Filter
If letzteZeile = 2 Then
Sheets(Name).Range("E2").Copy
Else
Sheets(Name).Range("E2").Select
Sheets(Name).Range("E2", Selection.End(xlDown)).Copy
End If
da ich nicht wusste, wie ich den Ergebnissbereich markieren soll, hab ich es so gemacht..
Kann mir jemand eine saubere Lösung anbieten??
Danke
Antwort schreiben
Antwort 1 von coros vom 26.06.2021, 11:44 Options
Hallo Vronilein ,
schau mal auf
meiner HP in der
Rubrik Beispieldateien und dort dann in dem
Beispiel 116 nach. Dort stelle ich eine Beispieldatei zur Verfügung, in der es um Kopieren von gefilterten Daten geht und dieDir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Vronilein vom 26.06.2021, 13:39 Options
Hallo Oliver,
erst mal vielen Dank für deine schnelle antwort..
Es scheint einigermaßen zu klappen... nach dem ich gefiltert habe.
hab es jetzt so geschrieben.
letzteZeile = Sheets("Tabelle2").Range("E65000").End(xlUp).Row
Range("E2:E" & letzteZeile).CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Range("G100")
nur das problem ist, dass ich nicht die ganze tabellean die neue stelle kopiert haben möchte, sondern nur die spalte E und das geht nicht.
Danke
Antwort 3 von coros vom 27.06.2021, 05:57 Options
Hallo ,
mit der "
.SpecialCells(xlCellTypeVisible)-Methode" kann nur die gesamte Zeile kopiert werden, das geht nicht anders. Du kannst aber am Ende des Makros mit der Zeile
Range("A:D,F:H").Delete Shift:=xlToLeft
die überflüssigen Spaöten wieder löschen (im Beispiel sind es die Spalten A, B, C, D, F, G, H).
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.