AW: Nein halt !
14.12.2003 18:02:11
K.Rola
Hallo,
das sind doch mehrere Informationen, die da ausgelesen werden, die sollen alle
in einen String?
Na gut, der Code gehört in ein Standardmodul:
Option Explicit
Private Function Opera(Op As Long) As String
Dim arr As Variant
arr = Array("kein Operator", "und", "oder", "obersten Einträge", "untersten Einträge", "obersten Prozent", "untersten Pozent")
Opera = arr(Op)
End Function
Private Function FSpalte(sp As Integer) As String
If sp < 27 Then
FSpalte = Left(Columns(sp).Address(0, 0), 1)
Else
FSpalte = Left(Columns(sp).Address(0, 0), 2)
End If
End Function
Sub Autofilter_auslesen()
Dim strFilter As String
Dim varKrit1 As Variant, F As Integer, AnzF As Integer
Dim varKrit2 As Variant, lngOp As Long, aSh As Worksheet
Set aSh = ActiveSheet
If aSh.AutoFilterMode Then
AnzF = aSh.AutoFilter.Filters.Count
If AnzF = 0 Then Exit Sub
For F = 1 To AnzF
If aSh.AutoFilter.Filters(F).On Then
On Error Resume Next
varKrit1 = aSh.AutoFilter.Filters(F).Criteria1
lngOp = aSh.AutoFilter.Filters(F).Operator
varKrit2 = aSh.AutoFilter.Filters(F).Criteria2
If varKrit2 = "" Then varKrit2 = "kein Kriterium"
strFilter = "Spalte: " & FSpalte(F) & ", " & _
"Kriterium 1: " & varKrit1 & ", " & _
"Operator: " & Opera(lngOp) & ", " & _
"Kriterium 2: " & varKrit2
End If
Next
End If
MsgBox strFilter
End Sub