7

我有一个包含 100 多个复选框的工作簿。

它们是表单控制复选框

我想一次全部取消选择

将它们设置为假。

 Sub clearcheck()
 ActiveSheet.CheckBoxes.Value = False
 End Sub

这适用于活动工作表。我希望此代码适用于整个工作簿

我曾尝试寻找代码并搞乱清除复选框,但我并不明智。

如果有人可以指导我,我将不胜感激

谢谢你

4

2 回答 2

15

如果您有 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
于 2013-09-21T01:43:02.703 回答
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
于 2020-04-16T15:30:33.227 回答