创建一个ActiveX复选框,用于选中和取消选中所有其他复选框



我有一张有很多复选框的表。第一个有标题"全选",当你点击它时,所有复选框都应该被选中。这很好,但我也想取消选中所有复选框,但我无法做到这一点。我得到错误1004。这是我正在尝试的代码:

Private Sub CheckBox1_Click()
On Error GoTo finished
For i = 2 To 200
If ActiveSheet.OLEObjects("CheckBox1").Object.Value = True Then ' <- this line gives the 1004 error
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = False
Else
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = True
End If
Next i
Exit Sub
finished:
End Sub

对我来说很好-我建议进行一些小的更改-使用Me代替activesheet,并简化设置其他复选框的逻辑。

Private Sub CheckBox1_Click()
Dim i As Long, bOn As Boolean
bOn = Me.OLEObjects("Checkbox1").Object.Value
For i = 2 To 200
Me.OLEObjects("Checkbox" & i).Object.Value = bOn
Next i
End Sub

最新更新