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

Filter mit mehreren Kriterien

Filter mit mehreren Kriterien
09.10.2020 12:20:08
Richi
Guete Tag
Habe 2 Tabellen (Quelle & Ziel) beides sind formatierte Tabellen.
Ich möchte nun in Ziel / Spalte A einen Autofilter setzen welcher alle in in Quelle hinterlegten Daten als Selektionskriterien für den Filter verwendet.
Hierzu hab ich folgenden Code zusammengestellt welcher aber nicht funktioniert und ich komm nicht darauf warum.
Mir schein Array der richtige Weg zu sein. Bin mir da nicht sicher.
https://www.herber.de/bbs/user/140761.xlsm
Sub Autofilter()
Dim wb As Workbook
Dim WsZ As Worksheet
Dim wsQ As Worksheet
Dim x As Long
Dim lz As Long
Set wb = ThisWorkbook
Set wsQ = wb.Worksheets(""Quelle"")
Set WsZ = wb.Worksheets(""Ziel"")
lz = Cells(wsQ.Rows.Count, ""A"").End(xlUp).Row
MeinArr = wsQ.Range(Tabelle2)
MeinArr = rg
WsZ.Range.Autofilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(1, rg)
End Sub
"

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter mit mehreren Kriterien
09.10.2020 14:01:34
Hajo_Zi
Bei Range fehlt("A1")

AW: Filter mit mehreren Kriterien
09.10.2020 15:10:13
Richi
Salü Hajo
Erhalte: Anwendungs.- oder Objektdefinierter Fehler (Laufzeit 1004), wenn ich Rang("A1") eingebe.
Richi
AW: Filter mit mehreren Kriterien
09.10.2020 17:07:55
Yal
Hallo Richi,
Du versuchst Datum zu filtern. Diese haben einen interne komische Struktur.
Bei mir funktioniert folgendes.
Sub ZielFilter_setzen()
Dim Z
Dim Qw, Zw
Dim A()
Set Qw = Worksheets("Quelle")
Set Zw = Worksheets("Ziel")
For Each Z In Qw.Range("A2", Qw.Range("A2").End(xlDown)).SpecialCells(xlCellTypeVisible)
ReDim Preserve A(UBound0(A) + 2)
A(UBound(A) - 1) = 2
A(UBound(A)) = VBA.Format(Z.Value, "MM\/DD\/YYYY")
Next
Zw.Select
Zw.ListObjects("Tabelle1").Range.Autofilter Field:=1
Zw.ListObjects("Tabelle1").Range.Autofilter Field:=1, Operator:=xlFilterValues, Criteria2:= _
A
End Sub
Private Function UBound0(A) As Long
On Error Resume Next
UBound0 = -1
UBound0 = UBound(A)
End Function
Im übrigens, solltest Du versuchen, bestimmte Elemente von Spalte B, wie z.B. "Alle Mittwochs" müssstest Du die Werte anders ermitteln:
~f~=WAHL(WOCHENTAG([@Datum];2);"Montag";"Dienstag";"Mittwoch";"Donnerstag";"Freitag";"Samstag";"Sonntag")
Viel Erfolg
Yal
Anzeige
AW: Filter mit mehreren Kriterien
10.10.2020 10:02:58
Luschi
Hallo Yal,
Deine Lösung funktioniert wunderbar mit Excel 2013, aber Excel 2019 stellt sich doof und _ verweigert die Ausführung von:

Zw.ListObjects("Tabelle1").Range.Autofilter Field:=1, Operator:=xlFilterValues, _
Criteria2:=A
Leider setzt sich damit das Chaos beim Filtern von Datumswerten fort, wie es schon in ExcelXP (2002), Excel 2003, ... Excel 2016 fort und man muß per Versionsabfrage unterschiedlichen Vba-Code schreiben. Mal sehe, wie der Variante für E2019 aussieht.
Gruß von Luschi
aus klein-Paris
AW: Filter mit mehreren Kriterien
12.10.2020 17:00:48
Yal
der "_" ist leider hier von Herbers-Forum hinzugefügt worden. War nicht mein Fehler.
Ja, die Zeitformat... eine ewige Geschichte. Aber soweit ich verstanden habe, bewegt sich MS langsam Richtung annerkanten Standards. Daher besteht Hoffnung.
VG Yal
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige