Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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

Filterung nach mehreren Kriterien

Filterung nach mehreren Kriterien
28.08.2015 16:19:39
Conelius
Hallo ihr VBA-Spezialisten
ich habe eine Tabelle bei der in Spalte A unterschiedliche Bezeichnungen eingetragen sind. Folgende Beispiele zu Beginn der Bezeichnung sind möglich:
M02_xy
M111_xyz
M3012_muster
M21a_test
Sie entsprechen also alle dem folgenden Platzhalter-Schemata:
M?_text
M?_text
M?_text
Nun möchte ich alle anderen Zeilen deren Inhalt in Spalte nicht einem der Schemata entspricht löschen. Aktuell nutze ich die Filterfunktion von Excel, diese ermöglicht mir allerdings nur eine Filterung nach zwei Kriterien. (M?_ fehlt als drittes Kriterium). Gib es eine andere Möglichkeit den Zellinhalt auszulesen und mit dem Platzhalterschemata zu vergleichen? Eignet sich dafür die Funktion Instr() eventuell? Oder kennt ihr eine andere Möglichkeit?
Sub Filterung()
ActiveSheet.Range("$A$10:$J$200").AutoFilter Field:=1, Criteria1:="M?_*", Operator:=xlAnd,  _
Criteria2:="M?_*"
Rows("11:11").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$10:$J$200").AutoFilter Field:=1
End Sub

Beste Grüße und vielen Dank
Cornelius

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterung nach mehreren Kriterien
28.08.2015 16:38:30
Daniel
Hi
ggf reicht ja auch der Filter: M*_*
allerdings, wenns um löschen von Zeilen geht ist auch der Autofilter nicht das beste, was Excel zu bieten hat.
Effektiver beim Löschen ist das DATEN - DATENTOOLS - DUPLIAKTE ENTFERNEN
hierzu kennzeichnet man in einer Hilfspalte am Tabellenende alle Zeilen, die gelöscht werden sollen mit der Zahl 0 und die anderen mit der aktuellen Zeilennummer.
Dann kommt noch in die erste Zeile (überschrift) der Hilfsspalte ebenfalls die 0 und dann wendet man das Duplikate-Entfernen auf die ganze Tabelle mit der Hilfsspalte als Kriteriumsspalte an.
das ist auch in unsortierten Daten sehr schnell und verkraftet beliebig grosse Tabellen.
in deinem Fall wäre die Formel für K11:
=Wennfehler(Wenn(und(Links(A11;1)="M";Finden("_";A11)
als VBA dann:
With Range("K10:K200")
.formulalocal = "=Wennfehler(Wenn(und(Links(A11;1)=""M"";Finden(""_"";A11)
Gruß Daniel
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige