![]() |
Restore Autofilter After Macro Runs
Hello,
I have a sheet with autofilter. I need to turn off the autofilter before a macro runs but then I need to return it to the original condition (i.e. only original filtered rows are shown). How can I record the autofilter criteria and the field number in order to restore the original selected autofilter? Thanks very much in advance for any help! Best Regards, Emily |
Restore Autofilter After Macro Runs
There's some pretty good information about AutoFilter he
http://www.ozgrid.com/VBA/autofilter-vba.htm combine that with what you can find in the VB Help on AutoFilter and you end up building something like this: Sub SetAndResetAutoFilter() Dim filterState As Boolean Dim filterRangeAddress As String Dim fc As Long ' to work through possible filter fields Dim filterField As Long Dim filterCriteria1 As Variant If ActiveSheet.FilterMode Then 'remember that .FilterMode is true filterState = True With ActiveSheet For fc = 1 To .AutoFilter.Filters.Count If .AutoFilter.Filters(fc).On Then filterField = fc Exit For End If Next filterRangeAddress = .AutoFilter.Range.Address filterCriteria1 = .AutoFilter.Filters(filterField).Criteria1 'now show all data; turns .FilterMode off .ShowAllData End With End If MsgBox "Do other stuff here while all data is visible" 'now we set things back the way they were If filterState Then ActiveSheet.Range(filterRangeAddress).AutoFilter _ Field:=filterField, _ Criteria1:=filterCriteria1 End If End Sub "emilyyy" wrote: Hello, I have a sheet with autofilter. I need to turn off the autofilter before a macro runs but then I need to return it to the original condition (i.e. only original filtered rows are shown). How can I record the autofilter criteria and the field number in order to restore the original selected autofilter? Thanks very much in advance for any help! Best Regards, Emily |
All times are GMT +1. The time now is 01:10 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com