【问题标题】:How to select specific form control checkboxes in Excel?如何在 Excel 中选择特定的表单控件复选框?
【发布时间】:2015-05-18 18:04:15
【问题描述】:

我正在使用 Excel 2010。

我在我的工作表中设置了 10 个表单控件复选框,我想自动选择一组复选框。我之前看到的关于这个主题的所有帖子都包括选择所有复选框或取消选择所有复选框。

这是以前帖子中用于取消选中所有复选框的 VBA 代码:

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

这是基于此链的更新代码,但它仍然遇到语法问题以及不明子:

Sub highengagedonline() 
Dim cb As CheckBox, sht As Worksheet 
Set sht = Worksheets("Graph") 
For Each cb In sht.CheckBoxes 
    If cb.Name = "Check Box 35" or _
       cb.Name = "Check Box 36" or _
       cb.Name = "Check Box 37" or _
       cb.Name = "Check Box 38" or _
       cb.Name = "Check Box 39" Then
           cb.Value = 1 
    Else: cb.Value = 0 
    End If 
Next cb 
End Sub 

【问题讨论】:

  • 复选框都在一张纸上吗?您将如何决定自动选择哪些?按名字?
  • 所有复选框都在一张纸上。我的计划是确定每个复选框的名称并在脚本中将它们调出。我有一组代码可以确定每个复选框的名称,但如果有更好的方法,我可能会被说服以不同的方式来做。

标签: vba excel checkbox


【解决方案1】:

尝试以下方式:

Sub ClearCheck()
    Dim cb As CheckBox, sht As Worksheet

    Set sht = Worksheets("Sheet1")

    For Each cb In sht.CheckBoxes
        If cb.Name = "Check Box 1" Then  
            cb.Value = 1
        Else if cb.Name = "Check Box 2" Then
            cb.Value = 0
        End If
    Next cb
End Sub

【讨论】:

  • 对不起,我在这里有点密集 - 但是您能否展示一个选择“复选框 1”以进行选中和“复选框 2”未选中的示例?
  • 我已经更新了代码。这是“蛮力”的方式。它还可以更好。您使用什么标准来确定哪些 chkbox 处于打开/关闭状态?
  • 在excel表格上,我有三个执行宏的表单控制按钮。我希望每个宏都选择和取消选择复选框的组合(预定)。 cb.Value = 1 是否勾选复选框?
  • cb.Value = 1 选中复选框。 (如果您愿意,也可以写cb.Value = true
  • 感谢您的帮助,亚历克斯。如果我有多个要设置为 true 和 false 的复选框,是否应该在 elae if 之前添加所有 True 以及在 end if 之前添加所有 false?
猜你喜欢
  • 2021-10-29
  • 2020-07-30
  • 1970-01-01
  • 2017-12-07
  • 2014-04-18
  • 1970-01-01
  • 2019-04-22
  • 2013-05-10
  • 1970-01-01
相关资源
最近更新 更多