Nach dem Aktivieren des Autofilters schüze ich das Tabellenblatt und erlaube dabei die Verwendung des Autofilters z.B. mit VBA
Folgendes Beispiel
https://www.herber.de/bbs/user/71182.xlsm
Sub Makro6()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, userinterfaceonly:=True
End Sub
Danach kann ich über Schaltflächen noch immer Filter setzen
Sub Makro4()
ActiveSheet.Range("$B$3:$E$13").AutoFilter Field:=3, Criteria1:="30"
End Sub und auch wieder entfernen
Sub filteroff()
' filteroff Makro
ActiveSheet.Range("$B$3:$E$13").AutoFilter Field:=3
End Sub
Selbst wenn ich die Arbeitsmappe freigebe funktioniert das -erstaunlicherweise- weiterhin.
Leider gilt das nur solange bis die Arbeitsmappe geschlossen und wieder neu geöffnet wird und das nervt, weil es irreführend ist.Jetzt reicht ein einfacher Test der Funktionsfähigkeit nicht mehr aus, ich muss auch die Arbeitsmappen schliessen und wieder öffnen um sicher zu sein !
Manuell lassen sich die Filterkriterien weiterhin setzen ! nur eben per Vba und Schaltfläche nicht ...sehr ärgerlich!
Auch das hier hilft nicht
Private Sub Workbook_Open()
On Error GoTo message
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, userinterfaceonly:=True
Exit Sub
message:
MsgBox "Fehler bei Workbook_open" & vbCrLf & _
"ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True" _
& ", AllowFiltering:=True, userinterfaceonly:=True"
Resume Next
End Sub
Gruss
Manfred