AW: Autofilter rechts von aktiver Zelle aktiv?
24.01.2014 10:35:14
aktiver
Hallo Stefan,
etwa in der folgenden Art sollte die Prüfung funktionieren.
Gruß
Franz
Sub aaTest()
If fncAutofilterOn(Zelle:=ActiveCell.Offset(0, 1)) Then
MsgBox "Autofilter in rechter Nachbarzelle ist gesetzt"
Else
MsgBox "Autofilter in rechter Nachbarzelle ist nicht gesetzt"
End If
End Sub
Function fncAutofilterOn(Zelle As Range) As Boolean
'Prüft, ob der Autofilter für die Spalte mit der Zelle gesetzt ist.
Dim wks As Worksheet
Set wks = Zelle.Parent
fncAutofilterOn = False
With wks
'prüfen, ob der Autofilter im Blatt aktiv ist
If .AutoFilterMode = True Then
'Prüfen, ob Filter im Blatt gesetzt sind
If .FilterMode = True Then
'Prüfen, ob sich die Zelle innerhalb des Autofilterbereiches befindet
If Not Application.Intersect(Zelle, wks.AutoFilter.Range) Is Nothing Then
'Prüfen ob Filter in Spalte der Zele gesetzt ist
fncAutofilterOn = .AutoFilter.Filters(Zelle.Column _
- .AutoFilter.Range.Column + 1).On
End If
End If
End If
End With
End Function