我有一个包含100多个复选框的工作簿。
它们是表单控件复选框
我想一次取消选择它们
将它们设置为false。
Sub clearcheck()
ActiveSheet.CheckBoxes.Value = False
End Sub
这适用于活动工作表。我希望这段代码适用于整个工作簿
我已经尝试过查找代码并搞乱清除复选框,但不是更明智。
如果有人能引导我,我真的很感激
谢谢
答案 0 :(得分:11)
如果您具有OLEObject样式( ActiveX )复选框,则:
Sub terranian()
Dim o As Object
For Each o In ActiveSheet.OLEObjects
If InStr(1, o.Name, "CheckBox") > 0 Then
o.Object.Value = False
End If
Next
End Sub
<强> EDIT1:强>
如果它们是表单复选框,则以下内容将起作用:
Sub clearcheck()
Dim sh As Worksheet
For Each sh In Sheets
On Error Resume Next
sh.CheckBoxes.Value = False
On Error GoTo 0
Next sh
End Sub
答案 1 :(得分:0)
选择的答案是完美的,但是我需要能够通过表单复选框的按钮清除活动工作表或所有复选框。将两个子例程放入一个“模块”中对我来说很有效。然后,我为每个动作创建了一个按钮,并映射到了各个子例程。
'Uncheck all checkboxes in entire excel workbook
Sub uncheck_all()
Dim sh As Worksheet
For Each sh In Sheets
On Error Resume Next
sh.Checkboxes.Value = False
On Error GoTo 0
Next sh
End Sub
'Uncheck all checkboxes in active sheet
Sub uncheck_active_sheet()
ActiveSheet.Checkboxes.Value = False
End Sub