Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter mit ODER-Verknüpfung

Autofilter mit ODER-Verknüpfung
09.04.2020 11:32:36
David
Hallo Zusammen,
Ich würde gerne eine Tabelle mit der Autofilter-Funktion nach zwei Kriterien filtern. Dabei muss die gefilterte Liste alle Daten anzeigen, die Kriterium eins erfüllen oder Kriterium 2. Also eine OR-Verknüpfung. Mein Problem ist, dass sich Kriterium 1 in einer anderen Spalte befindet als Kriterium 2, aber ich durch den Parameter "Feld" nur eine Spalte anwählen kann. Bisher bezieht er die Kriterien auf eine Spalte. Mein Code sieht so aus:
Sub AutoFilter()
Dim Filter As Range
Dim SrchCrit1 As Integer
Dim SrchCrit2 As Integer
SrchCrit1 = Cells("Suchkriterium 1")
SrchCrit2 = Cells("Suchkriterium 2")
Set Filter = Sheets("Datastream").Range("TabOutput")
Filter.AutoFilter Field:=1, Criteria1:=SrchCrit1, Operator:=xlOr, Criteria2:=SrchCrit2
End Sub

Vielen Dank Euch, ich hoffe mir kann jemand helfen!
PS: bleibt gesund :)
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter mit ODER-Verknüpfung
09.04.2020 11:41:49
Daniel
Hi
Der Auzofilter kann Folterungen über mehrere Spalten nur UND-Verknüpfen.
Ein möglicher Workaround wäre, dass du eine Hilfsspalte einfügst mit der Formel (Spalt bitte anpassen)
=Oder(A2="Suchkriterium1";B2="Suchkriterium2")
Und dann in dieser Spalte nach WAHR filterst.
Und ja, auch das ist eine VBA-Lösung, weil man auch mit VBA Formeln in Zellen schreiben kann und darf.
Gruß Daniel
Anzeige
OT: Foltern ist bei uns verboten! ;-] orT
09.04.2020 22:24:47
Luc:?
Auch mit Kaffee- oder Auzofilter im Spalt! :-))
Gruß, Luc :-?
geht nicht ohne Hilfsspalte
09.04.2020 11:46:10
EtoPHG
Hallo David,
Das geht nicht ohne Hilfspalte. Denn vertikal können Kriterien in des Filter mit ODER verknüpft werden, aber horizontal sind sie immer mit UND verknüpft.
Mit einer Hilfspalte, in der du den Inhalt 2er voneinander abhängigen Spalten verknüpfst und dann auf diese filterst, kannst du eine horizontale ODER-Verknüpfung erreichen.
Gruess Hansueli
Anzeige
AW: geht nicht ohne Hilfsspalte
09.04.2020 12:16:37
David
Vielen Dank für Eure Antworten! Das stellt mich vor das nächste Problem. Wenn ich die Hilfsspalte erstelle (Will ich ebenfalls mit VBA), muss ich Werte von Spalte1 in Spalte2 übertragen, aber nur wenn in Spalte2 noch kein Wert steht. Ich habe es schon mit einer Schleife versucht, aber die Überprüfung ob die Zelle leer ist, klappt nicht. Welche Möglichkeiten gibt es noch zu dem unten stehenden Code? IsEmpty?
Sub Hilfsspalte()
Dim LastCell As Integer
Dim i As Integer
Dim Spalte1 As Integer
Dim Spalte2 As Integer
LastCell = Sheets("Datastream").Range(Output").SpecialCells(xlCellTypeLastCell).Row
For i=2 to LastCell
Spalte1 = Cells(i,1)
Spalte2 = Cells(i,2)
If Spalte2.Value ="" Then
Spalte2 = Spalte1
End if
Next
End Sub
Vielen Dank :)
Anzeige
AW: geht nicht ohne Hilfsspalte
09.04.2020 12:25:20
Daniel
Hi
Naja so schchreibst du den Wert ja nur in die Variable, aber noch nicht ins Tabellenblatt.
Hier dann besser ohne Variable:
If cells(i, 2).value = "" then Cells(i, 2).value = (i, 1).value
Gruß Daniel
AW: geht nicht ohne Hilfsspalte
09.04.2020 14:47:57
David
Hat Funktioniert! Vielen Dank :)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Autofilter mit ODER-Verknüpfung in Excel nutzen


Schritt-für-Schritt-Anleitung

Um mit dem Autofilter in Excel eine ODER-Verknüpfung zu erstellen, kannst du die folgenden Schritte befolgen:

  1. Hilfsspalte erstellen: Füge eine neue Spalte in deiner Tabelle hinzu, in der du die Kriterien verknüpfst. Du kannst die Formel nutzen:

    =ODER(A2="Suchkriterium1";B2="Suchkriterium2")

    Diese Formel gibt WAHR zurück, wenn eines der Kriterien erfüllt ist.

  2. VBA-Code anpassen: Wenn du VBA verwendest, kannst du den Autofilter wie folgt anpassen:

    Sub AutoFilter()
       Dim Filter As Range
       Set Filter = Sheets("Datastream").Range("TabOutput")
       Filter.AutoFilter Field:=3, Criteria1:=True  ' Hier wird die Hilfsspalte gefiltert
    End Sub
  3. Filter aktivieren: Wähle die gesamte Tabelle aus und aktiviere den Autofilter über das Menü Daten > Filter > Autofilter.

  4. Feld auswählen: Stelle sicher, dass du das Feld auswählst, das die Hilfsspalte enthält, um die Filterung durchzuführen.


Häufige Fehler und Lösungen

Fehler 1: "Der Autofilter unterstützt keine ODER-Verknüpfungen über mehrere Spalten."

Lösung: Verwende eine Hilfsspalte, um die ODER-Verknüpfung zu simulieren. Siehe Schritt 1 der Schritt-für-Schritt-Anleitung.

Fehler 2: "Der gefilterte Bereich zeigt keine Ergebnisse."

Lösung: Überprüfe, ob die Formeln in der Hilfsspalte korrekt sind und die Kriterien richtig eingegeben wurden.


Alternative Methoden

Wenn du keine Hilfsspalte verwenden möchtest, kannst du auch die Funktion SVERWEIS in Kombination mit FILTER nutzen (in neueren Excel-Versionen verfügbar). Hier ein Beispiel:

=FILTER(A2:C10; (A2:A10="Suchkriterium1") + (B2:B10="Suchkriterium2"))

Das gibt dir die Möglichkeit, mehrere Kriterien in einer einzigen Formel zu kombinieren, ohne eine Hilfsspalte anlegen zu müssen.


Praktische Beispiele

  • Beispiel 1: Du hast eine Tabelle mit Verkaufsdaten und möchtest alle Verkaufszahlen für Produkt A oder Produkt B anzeigen. Verwende eine Hilfsspalte, die die Produkte verknüpft.

  • Beispiel 2: Du möchtest Daten über eine VBA-Subroutine filtern, die die ODER-Verknüpfung zwischen zwei Spalten unterstützt. Nutze die oben genannten VBA-Codes.


Tipps für Profis

  • Nutze die AutoFilter-Methode in VBA, um den Autofilter effizient zu steuern und automatisiere wiederkehrende Aufgaben.
  • Achte darauf, die Operator-Eigenschaft korrekt einzustellen, z.B. xlOr, wenn du mehrere Kriterien filterst.
  • Wenn du oft mit großen Datenmengen arbeitest, überlege, die Access Autofilter-Funktionen zu nutzen, um die Performance zu verbessern.

FAQ: Häufige Fragen

1. Kann ich den Autofilter in Excel ohne eine Hilfsspalte verwenden?
Nein, der Autofilter unterstützt keine ODER-Verknüpfungen über mehrere Spalten ohne Hilfsspalte.

2. Wie kann ich in VBA die Autofilter-Funktion nutzen?
Du kannst die AutoFilter-Methode verwenden, um die Filterung direkt über VBA-Skripte zu steuern.

3. Was ist der Unterschied zwischen vertikalem und horizontalem Filtern?
Vertikales Filtern ermöglicht ODER-Verknüpfungen, während horizontales Filtern standardmäßig UND-Verknüpfungen verwendet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige