2020-03-13

〔VBA〕AutoFilter-取得自動篩選狀態--v041

【如何取得自動篩選狀態】


為何要判斷自動篩選狀態?
因為在無自動篩選時,去設定清除篩選選項會出錯呀~

If ActiveSheet.AutoFilter Is Nothing Then
    '無自動篩選
    '加入自動篩選(篩選王小明)
    ActiveSheet.Range("A1:A100").AutoFilter Field:=1, Criteria1:="王小明"
Else
    '有自動篩選
    '清除篩選選項
    ActiveSheet.AutoFilterMode=False
End If

範例語法2:
'若有自動篩選,則移除自動篩選(做為加入自動篩選前的確認動作)
If Not ActiveSheet.AutoFilter Is Nothing Then ActiveSheet.AutoFilterMode = False



更正:
ActiveSheet.ShowAllData
測試:ActiveSheet.AutoFilter Is Nothing無法判別是否有在篩選狀態,若在無篩選狀態,ShowAllData會產生Error

相關課程:


章老師的電腦小講堂 https://www.facebook.com/ScenicSchool/
※※ 本區做為經常使用之程式碼複製區,提問請至小講堂唷 ※※

5 章老師的電腦小講堂: 〔VBA〕AutoFilter-取得自動篩選狀態--v041 【如何取得自動篩選狀態】 為何要判斷自動篩選狀態? 因為在無自動篩選時,去設定清除篩選選項會出錯呀~ If ActiveSheet.AutoFilter Is Nothing Then     '無自動篩選     '加入自動篩選(篩選王小明) ...
小講堂經過多次搬移,舊文章連結及內容較難整理~
大家可以新文章為主~
每篇文章後有代碼,任何文章問題可至FB小講堂用代碼提問唷~