使用自动筛选和用户窗体select多个项目

我需要一种方法来从userformcheckbox中select多个项目。 我相信我有一个逻辑错误的事实,一旦一个陈述是真实的逻辑不会继续。

这是我目前的代码:

If flt_type_cb1.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=DOM" ElseIf flt_type_cb2.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=AK" ElseIf flt_type_cb3.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=HI", Operator:=xlOr, Criteria2:="HI-LH" ElseIf flt_type_cb4.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=INTL-ASIA", Operator:=xlOr, Criteria2:="INTL-ASIA-PJ" ElseIf flt_type_cb5.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=PS" ElseIf flt_type_cb6.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=GU", Operator:=xlOr, Criteria2:="GUMHNL" ElseIf flt_type_cb7.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=LATBUS" ElseIf flt_type_cb8.Value = True Then WholeSheetRange.AutoFilter Field:=7, Criteria1:="=INTL", Operator:=xlOr, Criteria2:="INTL-PJ" End If 

我会例如喜欢能够selectDOM和PS。

我遵循if语句path,即使它可能不是最有效的。

我的代码如下所示:

 Dim flight_type_array As Variant flight_type_array = Array("DOM", "AK", "HI", "HI-LH", "INTL-ASIA", "INTL-ASIA-PJ", "PS", "GU", "GUMHNL", "LATBUS", "INTL", "INTL-PJ") If flt_type_cb1.Value = False Then flight_type_array(0) = "" End If If flt_type_cb2.Value = False Then flight_type_array(1) = "" End If If flt_type_cb3.Value = False Then flight_type_array(2) = "" flight_type_array(3) = "" End If If flt_type_cb4.Value = False Then flight_type_array(4) = "" flight_type_array(5) = "" End If If flt_type_cb5.Value = False Then flight_type_array(6) = "" End If If flt_type_cb6.Value = False Then flight_type_array(7) = "" flight_type_array(8) = "" End If If flt_type_cb7.Value = False Then flight_type_array(9) = "" End If If flt_type_cb8.Value = False Then flight_type_array(10) = "" flight_type_array(11) = "" End If WholeSheetRange.AutoFilter Field:=7, Criteria1:=flight_type_array, Operator:=xlFilterValues