2.5k Aufrufe
Gefragt in Tabellenkalkulation von
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

3 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
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
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von coros Experte (4k Punkte)
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
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
...