Добрый день!
вот код макроса
Сейчас при вызове формы и проставлении флажка на каком либо одном чекбоксе идет фильтр по одному критерию.
Не могу понять, как сделать так, чтобы я мог отметить несколько чекбоксов и фильтр происходил по разным критериям.
вот код макроса
Код |
---|
Private Sub CommandButton1_Click() Application.ScreenUpdating = False If CheckBox1.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="1" ElseIf CheckBox2.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="2" ElseIf CheckBox3.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="3" ElseIf CheckBox5.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="4" ElseIf CheckBox7.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="5" ElseIf CheckBox6.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="6" ElseIf CheckBox8.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="7" ElseIf CheckBox4.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="8" ElseIf CheckBox9.Value = True Then Rows("1:1" ;) .Select Selection.AutoFilter ActiveSheet.Range("$A$1:$HL$60000" ;) .AutoFilter Field:=20, Criteria1:="9" End If Cells.Select Selection.Copy Sheets("Категории" ;) .Select Range("A1" ;) .Select Selection.PasteSpecial Paste:=xlPasteValues UserForm1.Hide End Sub |
Не могу понять, как сделать так, чтобы я мог отметить несколько чекбоксов и фильтр происходил по разным критериям.