Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Autofilter-gefilterte Zeilen löschen

Autofilter-gefilterte Zeilen löschen
03.12.2021 23:04:40
Anastasia
Hallo liebe Forumsmitglieder,
ich bin hier neu und bin offen sowie dankbar für freundliche Hinweise auf Fehler meinerseits. :-)
Seit zwei Wochen durchforste ich alle mir bekannten Foren und sehe den Wald vor lauter Bäumen nicht mehr. :-(
Ist-Zustand:
Im Tabellenblatt "Eingabe" ist ein bestimmter Bereich (A2:N296) als Tabelle "tabelle" formatiert und definiert.
Es werden Daten aus SAP gezogen und dort eingefügt.
In Spalte "I" (also Column 9) steht in manchen Zeilen als Anfangswert eine Raute und die Buchstabenfolge ETIK. ("#ETIK") Im Anschluss an diesen Anfang stehen verschiedene Werte.
Die Zeilen, die also "#ETIK" enthalten, werden bisher manuell gelöscht.
Ich möchte diesen Vorgang automatisieren und habe unfassbar viele Varianten ausprobiert. Meistens kann ich die Vorschläge aus den Foren für mich anpassen, aber gerade hierzu will einfach nichts funtionieren.
Soll-Zustand (Wunschtraum):
per Makro die im Template vorhandenen Autofilter nutzen um die Spalte I nach "#ETIK*" zu filtern und anschließend die kompletten gefilterten (sichtbaren) Zeilen löschen.
Sollte es bereits eine Lösung geben, die ich nur noch nicht entdeckt habe, wäre ich für eine entsprechende Verlinkung sehr dankbar.
Hier ein Teil meines Codes:
With ActiveSheet.ListObjects("Tabelle").Range
.Autofilter 9, "=#ETIK*"
.SpecialCells(xlCellTypeVisible).EntireRow.Delete Shift:=xlUp
.Autofilter 9
End With
Der Filter selbt funktioniert einwandfrei. Nur das Löschen gibt mir (bei diesem Versuch) folgenden Fehler aus:
"Laufzeitfehler '1004': Die Delete-Methode des Range-Objekts konnte nicht ausgeführt werden."
Ausprobiert habe ich Schleifen (natürlich von unten nach oben), auch mit einer If-Prüfung und auch ohne, mit CurrentCells, mit Range bezogen auf A2:N296 und auch mal bezogen auf I2:I296...
Kann mir jemand helfen?
Herzliche Grüße und vielen Dank vorab für eure Hilfe,
Anastasia

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 07:43:23
Hajo_Zi
Hallo Anastasia,
mache es ohne VBA.
Benutze Autofilter und Kopiere den sichtbaren Bereich, Start, Bearbeiten, Suchen..., Gehe zu, Inhalte, sichtbare Zellen.
Excel hat auch einen Makrorecorder.
GrußformelHomepage
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig.
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 08:37:20
Anastasia
Guten Morgen mein lieber Hajo,
deine Beiträge schätze ich schon seit nunmehr drei Jahren sehr, weil ich dadurch schon viel gelernt habe. Vielen Dank dafür.
Eigentlich wollte ich schon "den Beweis", dass es nicht funktioniert, reinstellen. Ich arbeite ebenfalls mit dem Rekorder und kombiniere meistens inzwischen mit vielen tollen Tipps aus dem Netz.
Aber lustigerweise und auch dankenswerterweise (!) hast du mich aus meiner Mühle geholt! :-D
Diesmal bekam ich es nicht hin, bis eben!
Hier das seit deinem Beitrag erste neu aufgenommene Makro:
'
Range("Tabelle[[#Headers],[MaterialNr]]").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Autofilter
ActiveSheet.ListObjects("Tabelle").Range.Autofilter Field:=9, Criteria1:= _
"=#ETIK*", Operator:=xlAnd
Rows("5:23").Select
Selection.Delete Shift:=xlUp
ActiveSheet.ListObjects("Tabelle").Range.Autofilter Field:=9
End Sub
Nach dem ersten Versuch hat es natürlich nicht funktioniert.
Dann hatte ich die Idee die Rows auf den gesammten Bereich anzupassen, in meinen Gedanken war das 2:296. Hier kam ein Fehler bei Selection.Delete, aber dann fand ich meinen Fehler!
In Zeile 2 sind meine Headers! Die eigentlichen zu löschenden Zeilen beginnen erst in Zeile 3!
Somit:
Rows("3:296").Select
Wenn ich etwas Glück habe bekomme ich das auch mit meiner ursprünglichen Formel hin. Mal sehen. :-)
Vielen herzlichen Dank für deine wunderbare Anregung! :-)
Herliche Grüße,
Anastasia
Anzeige
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 08:39:46
Hajo_Zi
Hallo Anastasia,
ich bin dann raus, da meine Beitrag nicht komplett gelesen wurde.
Das wird schon seinen Grund haben.
Ich schreibe nicht für den Papierkorn. Ich bin dann raus.
Viel Erfolg noch.
Gruß Hajo
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 09:02:31
Anastasia
Lieber Hajo, liebe Forumsmitglieder,
das finde ich ausgesprochen schade. Allerdings nicht für mich.
Deinen Beitrag habe ich SELBSTVERSTÄNDLICH komplett gelesen! Er wurde mir sogar zwei mal nacheinander angezeigt. :-)
Hallo Anastasia, Hallo auch dir Hajo,
mache es ohne VBA. Nein, danke. Das ist keine Option, wenn ich es doch unbedingt automatisieren möchte.
Benutze Autofilter und Kopiere den sichtbaren Bereich, Start, Bearbeiten, Suchen..., Gehe zu, Inhalte, sichtbare Zellen. Siehe eine Zeile darüber.
Excel hat auch einen Makrorecorder. Ja, das war mir schon länger bewusst und ich habe diesen auch schon ausgiebig genutzt. Dennoch habe
ich das als Anregung genommen und bin glücklicherweise auf eine Lösung gekommen.
GrußformelHomepage Grüß zurück.
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig. Ich weiß nicht genau weshalb, aber ich habe das
Gefühl, dass du dennoch alles liest.
Ich habe deinen Beitrag gelesen und das für mich passendste herausgenommen.
Zum einen: Wen ich Lust auf "Schokolade" (VBA) habe, dann brauche ich keine Vorschläge wie "putz dir die Zähne, damit dir die Lust vergeht" (mache es manuell).
Obwohl du mir zu meinen eigenen Gedankengängen verholfen hast und ich nun eine Lösung habe, die ich auch noch für andere Anfänger hier gepostet habe, glaubst du, dass du für den Papierkorb geschrieben hast?
Das ist schade für dich. Damit hättest du das Gefühl oft sinnfreie Arbeit zu verrichten. Mir jedenfalls hat es geholfen.
(Falls du die Zeit dafür findest, zwischen den ganzen "Antworten für den Papierkorn" könntest du evtl. deine Standard-Nachricht noch korrigieren und daraus einen Papierkorb machen.)
Wie du siehst lese ich alles von deinen Antworten. Ich nehme nur nicht alles davon auf.
Ich jedenfalls danke dir und auch diesem Forum, das mich schon ca. drei Jahre begleitet, ganz herzlich für die Hilfe.
Auch das von heute war wiedermal scheinbar genau das, was ich gebraucht habe um vorwärts zu kommen. :-)
Herzliche Grüße,
Anastasia
Anzeige
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 09:04:00
Udo
Mal ein Ansatz ...
du würdest dich hier evtl. leichter tun durch eine entspr. Beispieldatei ...
Muss aber gestehen, ich agiere auch schon mal ohne u beschreibe dann ewig, letztl. is halt eine BDat.
dann doch sinnvoller ...
https://www.herber.de/bbs/user/149569.xlsm
Damit solltest du dann weiterkommen
LG Udo
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 09:23:14
Udo
... und so noch ohne Hilfsspalte...

Sub ETIK_Inhalte_löschen()
Dim Anfang As Integer
Dim Ende As Integer
Ende = Range("I10000").End(xlUp).Row
For Anfang = Ende To 2 Step -1
If Left(Range("I" & Anfang).Value, 5) = "#ETIK" Then Range("I" & Anfang).EntireRow.Delete
Next Anfang
End Sub
passend für die Beispieldatei , musst du dir halt noch anpassen ...
LG Udo
Anzeige
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 09:26:36
Udo
... und so noch ohne Hilfsspalte, mit direkter Suche nach Inhalt ... in I

Sub markierte_Zeilenabschnitte_löschen_2()
Dim Anfang As Integer
Dim Ende As Integer
Ende = Range("I10000").End(xlUp).Row
For Anfang = Ende To 2 Step -1
If Left(Range("I" & Anfang).Value, 5) = "#ETIK" Then Range("I" & Anfang).EntireRow.Delete
Next Anfang
End Sub
Musst du dir halt evtl. noch anpassen
LG Udo
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 09:38:42
Anastasia
Hallo Udo,
vielen herzlichen Dank auch dir für die Hilfe. :-)
Das schaue ich mir nach der Arbeit genauer an und schreibe dir eine Rückmeldung.
Herzliche Grüße,
Anastasia
Anzeige
AW: Autofilter-gefilterte Zeilen löschen
04.12.2021 10:42:14
Udo
... den noch ... damit löschst du dann nicht die ganze Zeile
sondern nur im Spaltenbereich A-N anteilig die jew. Zeile ...

Sub Etik_Inhalte_A_N_löschen()
Dim Anfang As Integer
Dim Ende As Integer
Ende = Range("I10000").End(xlUp).Row
For Anfang = Ende To 2 Step -1
If Left(Range("I" & Anfang).Value, 5) = "#ETIK" Then
Range(Cells(Anfang, 1).Address & ":" & Cells(Anfang, 14).Address).Delete Shift:=xlUp
End If
Next Anfang
End Sub
Das wars
LG Udo

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige