Do 1.řádku vlož tlačítko, řádek ukotvi (aby ti tlačítko nemizelo) a pod tlačítko dej proceduru :
Private Sub CommandButton1_Click()
ActiveSheet.Unprotect "123"
Sheets("List1").Range("a:d").AutoFilter
ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
End Sub
To zamknutí je jen proto, aby tam do toho nikdo jiný nelezl. V proceduře si případně uprav název listu a sloupce pro autofiltr. Nad sloupci nemusíš mít předem nastavený autofiltr. Stiskem tlačítka se nad sloupci (zde A až D) nastaví autofiltr, pak si provedeš to co chceš filtrovat a opětovným stiskem tlačítka autofiltr nad sloupci A až D odebereš autofiltr. Mělo by to být funkční.