Microsoft Excel

Herbers Excel/VBA-Archiv

AdvancedFilter | Herbers Excel-Forum


Betrifft: AdvancedFilter von: Thomas
Geschrieben am: 22.06.2009 14:25:01

Hallo,

in der Datei wird per VBA mit AdvancedFilter gefiltert.
Der Filter funktiniert bisher so:

Filter bzw. zeige alle Zeilen die mit den Kriterien aus Spalte A und Spalte B übereinstimmen
(z.B. zeige die Zeilen die in Spalte A den Wert "ABC" und in Spalte B den Wert "CBA" enthalten)

Ergebnis: Angezeigt wird z. B. die Zeile 7 da in Zelle A7 der Wert "ABC" steht und in Zelle B7 "CBA" steht.

Ich möchte aber auch so filtern:

Zeige alle Zeilen die mit den Kriterien aus Spalte A oder Spalte B übereinstimmen.

Mit dem Ergebnis: Angezeigt werden die Zeilen 7, 8 und 9 da
in Zelle A7 "ABC" und in B7 "CBA" steht
in Zelle A8 "ABC" und in B8 "XXX" steht
in Zelle A9 "ZZZ" und in B9 "ABC" steht

Ich hoffe, ich konnte es einigermaßen verständlich rüberbringen.

Schon mal im Voraus vielen Dank.

Grüße
Thomas

  

Betrifft: Spezialfilterkriterien für mehrere Spalten von: NoNet
Geschrieben am: 22.06.2009 14:39:47

Hallo Thomas,

Du musst die Kriterien des Spezialfilters mehrfach definieren und den gesamten Bereich als Krieterienbereich angeben (siehe grüner Bereich) :



Gruß, NoNet


  

Betrifft: AW: Spezialfilterkriterien für mehrere Spalten von: Thomas
Geschrieben am: 23.06.2009 06:55:49

Hallo NoNet,

vielen Dank für deine Antwort.

Von Ansatz her funktioniert es.
Nur, der Filter wird über eine UserForm per VBA gestartet. Wenn ich den Kriterienbereich (CriteriaRange im VBA) wie in deinem Beispiel um mehrere Zeilen erweitere, dann muss auch in jeder Zeile ein Suchkriterium stehen sonst funktioniert der Filter nicht.
Je nachdem was in der Suchmaske ausgewählt wurde, gibt es ein oder mehrere Suchkriterien.


Der Code bisher:

Range("a18:bz5000").AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=Sheets(1).Range("a18:bz19"), Unique:=False

Der Code gemäß deinem Beispiel:

Range("a18:bz5000").AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=Sheets(1).Range("a18:bz24"), Unique:=False

Ich hoffe du kannst mir nochmals weiterhelfen.

Gruß
Thomas


  

Betrifft: AW: Spezialfilterkriterien für mehrere Spalten von: Thomas
Geschrieben am: 23.06.2009 09:55:32

Hallo NoNet,

ich hab es geschafft, dank deinem Hinweis auf den mehrzeiligen Kriterienbereich.

Ich füll den Kriterienbereich mit einer Variablen, und so funkioniert es.

Nochmals vielen Dank.

Gruß
Thomas