Hallo zusammen,
hätte da schon wieder eine Frage an Euch.
In einer Tabelle habe ich 30 Spalten mit einem Autofilter in der Zeile 1 versehen und filtere entsprechend verschiedene Daten aus unterschiedlichen Spalten.
Wie könnte man alle gesetzten Filterkriterien aus jedem Filter (Spalte) auslesen und in eine MsgBox oder in das Überwachungsfenster ausgeben?
Mit folgendem Code (aus dem Netz) lassen sich die Filter erstmal alle ausschalten und dann wieder einschalten. Wie kann man den Code erweitern um die Daten zu loggen?
Vielleicht könnt Ihr mir da weiterhelfen?
hätte da schon wieder eine Frage an Euch.
In einer Tabelle habe ich 30 Spalten mit einem Autofilter in der Zeile 1 versehen und filtere entsprechend verschiedene Daten aus unterschiedlichen Spalten.
Wie könnte man alle gesetzten Filterkriterien aus jedem Filter (Spalte) auslesen und in eine MsgBox oder in das Überwachungsfenster ausgeben?
Mit folgendem Code (aus dem Netz) lassen sich die Filter erstmal alle ausschalten und dann wieder einschalten. Wie kann man den Code erweitern um die Daten zu loggen?
Code:
Public Sub Autofilter()
Dim arrFilters() As FilterData, rngFilters As Range, bolFilters As Boolean, i As Integer
'#######Einlesen
With Worksheets("Angebote - Genehmigungen")
If .AutoFilterMode Then
With .Autofilter
ReDim arrFilters(1 To .Filters.Count)
For i = 1 To .Filters.Count
With .Filters(i)
If .On Then
arrFilters(i).On = .On
arrFilters(i).Count = .Count
arrFilters(i).Operator = .Operator
arrFilters(i).Criteria1 = .Criteria1
If .Count = 2 Then
arrFilters(i).Criteria2 = .Criteria2
End If
End If
End With
Next
End With
bolFilters = True
.AutoFilterMode = False
End If
End With
'#######Wiederherstellen
If bolFilters Then
Set rngFilters = Worksheets("Angebote - Genehmigungen").Rows(1)
rngFilters.Autofilter 'Auch setzen, wenn alle On=False?
For i = 1 To UBound(arrFilters)
With arrFilters(i)
If .On Then
If .Count = 1 Then
rngFilters.Autofilter i, .Criteria1
Else
rngFilters.Autofilter i, .Criteria1, .Operator, .Criteria2
End If
End If
End With
Next
End If
End Sub
Vielleicht könnt Ihr mir da weiterhelfen?