我設計了一個帶有7個複選框的用戶表單。每個複選框都有一個調用函數,稱爲自動過濾器。這個功能自動過濾器,有助於過濾我的工作表中的字段4並顯示結果。VBA使用複選框選擇多個案例
在這裏,我有3個案例。案例1:
案例1。當選中Checkbox1時,顯示autofilter1的結果。
情形2:被選擇checkboxes1和2時,顯示autofilter1的結果和2
注意:它是沒有必要的用戶可以只選擇檢查框1和2,也可以是複選框2和3或1還有3次或者全部3次選擇。
案例3:當沒有選擇任何東西時,清除過濾器。
我成功地生成了case1情況,我應該如何繼續,才能實現case2和case3。
下面是自動篩選功能,它被分配到checkbox1。
Sub autofilter1()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Result")
wslr = ws.Cells(Rows.Count, 1).End(xlUp).Row
Set myfilt = ws.Range("A1:D" & wslr)
myfilt.autofilter Field:=4, Criteria1:= _
"USA"
End Sub
autofilter函數分配給checkbox2。分配給複選框3.
Sub autofilter3()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Result_APQP")
wslr = ws.Cells(Rows.Count, 1).End(xlUp).Row
Set myfilt = ws.Range("A1:D" & wslr)
myfilt.autofilter Field:=4, Criteria1:= _
"France"
End Sub
在命令按鈕 「轉到」
Sub autofilter2()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Result")
wslr = ws.Cells(Rows.Count, 1).End(xlUp).Row
Set myfilt = ws.Range("A1:D" & wslr)
myfilt.autofilter Field:=4, Criteria1:= _
"Germany"
End Sub
自動篩選功能,我有以下的代碼,
Private Sub CommandButton4_Click()
If CheckBox1.Value = True Then
Call autofilter1
End If
If CheckBox2.Value = True Then
Call autofilter2
End If
If CheckBox3.Value = True Then
Call autofiletr3
End If
End Sub
下一次sumarize有點plz,只是問基礎問題。爲每個案例分配一個子集,並'選擇案例true:案例checkbox1.value:sub1:案例check2:sub2 ..... end select'。對不起,我在電話應用程序,無法更好地格式化代碼。 –
雅,下次我會這樣做 – Mikz