复选框作为条件



我正试图使用ActiveX复选框来筛选将执行的代码行,但它出现了"400"错误,也由于某些原因,我无法取消选中这些复选框,有人能帮忙吗?

.
.
.
If CheckBox1.Value = True Then
Columns("A:F").AutoFilter Field:=1, Criteria1:=">11999", Operator:=xlAnd, Criteria2:="<13000"
ActiveSheet.PrintOut
End If
If CheckBox2.Value = True Then
Columns("A:F").AutoFilter Field:=1, Criteria1:=">12999", Operator:=xlAnd, Criteria2:="<14000"
ActiveSheet.PrintOut
End If
.
.
.

编辑(整个代码-有更多相同的条件,只是不同的复选框和不同的范围(:

Sub TISK_IV_OC()
Sheets("TISK IV OC").Activate
Dim ws As Worksheet
Set ws = ActiveSheet
If ws.Range("A1") = "" Then
MsgBox ("Neni co tisknout › nejdrive preved data!")
Exit Sub
End If
Sheets("TISK IV OC").PageSetup.CenterFooter = "&""Calibri,Bold""&18 " & "IV OC: " & Format(Date + 1, "dd.mm.yyyy")
Application.PrintCommunication = False
With Sheets("TISK IV OC").PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Application.PrintCommunication = True
Dim x As Integer
For x = 1 To 2
Sheets("TISK IV OC").PageSetup.CenterHeader = "&""Calibri,Bold""&18 " & x & " . KOLO"
If ws.CheckBox1.Value = True Then
Debug.Print ws.CheckBox1.Value
ws.Columns("A:F").AutoFilter Field:=1, Criteria1:=">11999", Operator:=xlAnd, Criteria2:="<13000"
ws.PrintOut
End If
If ws.CheckBox2.Value = True Then
Debug.Print ws.CheckBox1.Value
ws.Columns("A:F").AutoFilter Field:=1, Criteria1:=">12999", Operator:=xlAnd, Criteria2:="<14000"
ws.PrintOut
End If
Next x
ActiveSheet.ShowAllData
ws.Range("A1").Select
End Sub
Private Sub CheckBox1_Click()
End Sub

您需要指定工作表。最好使用括号"(名称("中属性中显示的图纸的代码名称。

If Sheet1.CheckBox1.Value = True Then
Debug.Print Sheet1.CheckBox1.Value
ActiveSheet.Columns("A:F").AutoFilter Field:=1, Criteria1:=">11999", Operator:=xlAnd, Criteria2:="<13000"
ActiveSheet.PrintOut
End If

使用代号

https://wellsr.com/vba/2015/excel/complete-guide-to-excel-vba-ActiveX-checkboxes/#value

最新更新