我有一个包含 100 多个复选框的工作簿。
它们是表单控制复选框
我想一次全部取消选择
将它们设置为假。
Sub clearcheck()
ActiveSheet.CheckBoxes.Value = False
End Sub
这适用于活动工作表。我希望此代码适用于整个工作簿
我曾尝试寻找代码并搞乱清除复选框,但我并不明智。
如果有人可以指导我,我将不胜感激
谢谢你
如果您有 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
编辑1:
如果它们是表单 checkboxs,那么以下将起作用:
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
选择的答案是完美的,但我需要能够通过表单复选框清除活动工作表或所有复选框。将两个子例程放在一个“模块”中对我有用。然后我为每个动作创建了一个按钮,并映射到各个子例程。
'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