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

Peter, Autofilteranzeige,mehr als 2. Krtierium

Peter, Autofilteranzeige,mehr als 2. Krtierium
10.03.2016 10:16:44
Peter
Hallo zusammen
Ich habe unten stehenden Code aus dem Netz, dieser funktioniert jedoch nur wenn nicht mehr als zwei Filterkriterien selektiert wurden. Es wird mit bedingter Formatierung angezeigt in welcher Spalte ein Filter aktiv ist.
Wie müsste ich den Code anpassen, damit dieser auch dann funktioniert, wenn mehr als zwei Filterkritieren gefilter sind?
Public Function AF_KRIT(Bereich As Range) As String
'Als Bezug dient eine Zelle der entsprechenden Spalte: AF_KRIT(A4)
'- verwende in der Bedingten Formatierung unter 'Formel ist' die folgende Formel:
'Code: =AF_Krit(A4)""
Dim s_Filter        As String
s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
s_Filter = .Criteria1
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End With
End With
Ende:
AF_KRIT = s_Filter
End Function

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Peter, Autofilteranzeige,mehr als 2. Krtierium
10.03.2016 10:40:47
Daniel
Hi
wenn du mehr als 2 Wert auswählst, dann wird das Criteria1 ein eindimensonales Array,welches alle zugelassenen Werte enthält.
Arrays musst du jedoch anders behandeln als einfache Werte.
Ob ein Array oder ein einfacher Wert vorliegt, kannst du mit VarType ermitteln und entsprechend reagiern:
Public Function AF_KRIT(Bereich As Range) As String
'Als Bezug dient eine Zelle der entsprechenden Spalte: AF_KRIT(A4)
'- verwende in der Bedingten Formatierung unter 'Formel ist' die folgende Formel:
'Code: =AF_Krit(A4)""
Dim s_Filter        As String
s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
If VarType(.Criteria1) >= vbArray Then
s_Filter = Join(.Criteria1, ";")
Else
s_Filter = .Criteria1
End If
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End With
End With
Ende:
AF_KRIT = s_Filter
End Function
Gruß Daniel

Anzeige
AW: Peter, Autofilteranzeige,mehr als 2. Krtierium
10.03.2016 11:47:18
Peter
Hallo Daniel,
Danke Dir, funktioniert super.
Viele Grüsse,
Peter

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige