Добрый день!
вот код макроса
Код |
---|
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
|
Сейчас при вызове формы и проставлении флажка на каком либо одном чекбоксе идет фильтр по одному критерию.
Не могу понять, как сделать так, чтобы я мог отметить несколько чекбоксов и фильтр происходил по разным критериям.