[英]Unselect All CheckBoxes From Excel Workbook with VBA Macro
我有一个包含 100 多个复选框的工作簿。
它们是表单控件复选框
我想一次取消选择它们
将它们设置为 false。
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:
如果它们是表单复选框,那么以下将起作用:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.