I\'m working on a piece of VBA code which should save & restore the current AutoFilter state in Excel. I\'ve been using the code here for a looong time without any issue
Seems to be a bug, but it only occurs when using the tree view at the bottom of the filter selector.
If you use the "datefilters" option and select a filter then it will work correctly.
For those looking for a way to extract date autofilters selected in the tree view, I have a working solution, using the XML data, posted here:
Get Date Autofilter in Excel VBA
An alternative way to store the autofilter state (including the treeview selection of date filters) is to use a custom view.
'[whatever code you want to run before capturing autofilter settings]
wkbExample.CustomViews.Add ViewName:="cvwAutoFilterSettings", RowColSettings:=True
'[whatever code you want to run with either your autofilter or no autofilter]
wkbExample.CustomViews("cvwAutoFilterSettings").Show
wkbExample.CustomViews("cvwAutoFilterSettings").Delete
'[whatever code you want to run after restoring original autofilter settings]
Original post by Cyious
However there are three conditions to make it work:
Bonus: also column width, freeze pane position and range location within the window are stored in the custom view.