close

3.PNG

VBA 進階篩選教學

 

如果我有兩個工作表,

一個是 “Database” (資料庫),一個是 ActiveSheet

當我今天要在 ActiveSheet 輸入 Case Number  Country

按下Search 後,

讓系統自動到 “Database” 依序篩選Case Number Country

該怎麼做呢?

 

Worksheets “Database”

1.png

 

ActiveSheet

2.png

 

之前為了幫公司做個簡易搜尋系統

上網找了許多關於 vba 進階篩選的內容

這是我實驗後目前覺得最實用的方法~

 

Sub Search () '篩選條件

    Worksheets("Database").AutoFilterMode = False '展開表單

    Dim a, b

    a = ActiveSheet.Range("C2").Value '要篩選的第一個條件

    b = ActiveSheet.Range("C3").Value '要篩選的第二個條件

    With Worksheets("Database").Range("A1:H9999")

        If a <> "" Then .AutoFilter Field:=2, Criteria1:=a

        If b <> "" Then .AutoFilter Field:=5, Criteria1:=b

    End With

End Sub

 

補充說明:

1. 如果有許多需要篩選的條件的話,可以有很多 If ,而且並不需要 End If 

2. 之後會再放上讓資料回傳到新工作表的教學哦

arrow
arrow
    創作者介紹
    創作者 lovelysylvia 的頭像
    lovelysylvia

    和 Sylvia 一起學習寫程式

    lovelysylvia 發表在 痞客邦 留言(0) 人氣()