Anzeige
Archiv - Navigation
1548to1552
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

Autofilter
31.03.2017 08:13:20
Andi
Hallo Zusammen, ich bräuchte eure Hilfe.
Ich möchte in einer Tabelle mit 13 Spalten nach bestimmten Kriterien filtern. Die Eingabe der Kriterien mache ich über ein Userform. Insgesamt habe ich 4 Kriterien in 4 verschiedenen Spalten. Es funktioniert auch soweit, aber ich kann immer nur nach einem Kirterium filtern, ich möchte aber auch nach zwei oder drei gleichzeitig filtern können. Könnt Ihr mir hier einen Lösungsvorschlag geben?
Ausserdem funktioniert das Filtern nach dem Datum nicht, was ich über den DTPicker auslese.
Hier mal mein Code:
Private Sub cmd_Suche_Click()
Dim wert1, wert2, wert3 As String
Dim wert4
wert1 = txt_Ideennr.Value
wert2 = comB_Abteilung2.Value
wert3 = txt_Einreicher.Value
wert4 = DTPicker_ein2.Value
Sheets("Liste").Activate
If ActiveSheet.FilterMode = False Then
ActiveSheet.FilterMode = True
End If
With Worksheets("KVP Liste").Range("A10:M10")
If wert1  "" Then
.AutoFilter Field:=2, Criteria1:=wert1
Else
If wert2  "" Then
.AutoFilter Field:=10, Criteria1:=wert2
Else
If wert3  "" Then
.AutoFilter Field:=8, Criteria1:=wert3
Else
If wert4  "" Then
.AutoFilter Field:=6, Criteria1:=wert4
End If
End If
End If
End If
End With
Unload Me
End Sub
Vielen Dank euch.
Grüße Andi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter
31.03.2017 09:27:36
Daniel
Hi
wenn du nach mehreren Werten in einer Spalte gleichzeitig filtern willst, musst du diese Werte in ein Array packen und den Parameter "Operator:=xlFilterValues" setzen:
.Autofilter Field:=1, Criteria1:=Array(Wert1, Wert2, Wert3), Operator:=xlFilterValues
wobei es dann nicht mehr möglich ist, mit Größer, Kleiner, oder Platzhaltern zu arbeiten.
das funktioniert nur bis maximal 2 verschiedenen Filterwerten nach diesem Schema:
.AutoFilter Field:=1, Criteria1:=">=3", Operator:=xlAnd, Criteria2:="
wenn du per VBA mit dem Autofilter nach einem Datumswert filtern willst, musst du das Datum im Amerikanischen Format angeben, dh Monat/Tag/Jahr und dem Slash als Trennzeichen.
oder du formatierst die Spalte mit dem Zahlenformat Standard und filterst dann über den Ganzzahlwert des Datums.
Gruß Daniel
Anzeige
AW: Autofilter
31.03.2017 09:54:53
ChrisL
Hi Andi
Nebst dem Spezialthema "Datumsfilter" müsstest du die If-Then Bedingung umformulieren. Wenn du mit If-Then-Else arbeitest, wird natürlich immer nur nach einem Kriterium gefiltert.
Hier ein Muster:
Sub t()
Dim wert1 As String, wert2 As String, wert3 As String, wert4 As Double
' Pseudowerte
wert1 = "3"
wert2 = "c"
wert3 = "c"
wert4 = CDate("03.01.2017")
With Worksheets("KVP Liste")
If .FilterMode = False Then .FilterMode = True
With .Range("A1:M10")
If wert1  "" Then .AutoFilter Field:=2, Criteria1:=wert1
If wert2  "" Then .AutoFilter Field:=10, Criteria1:=wert2
If wert3  "" Then .AutoFilter Field:=8, Criteria1:=wert3
If wert4  0 Then .AutoFilter Field:=6, Criteria1:="=" & wert4
End With
End With
End Sub

cu
Chris
Anzeige
AW: Autofilter
31.03.2017 12:00:59
Andi
Hallo, Vielen Dank.
Der Code von Chris macht genau was er soll.
Grüße Andi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige