乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em> vba 编程教程如何实现取消多个<em>复选框<

<em>excel</em> vba 编程教程如何实现取消多个<em>复选框<

作者:乔山办公网日期:

返回目录:excel表格制作


复选框被选中了后其值为TRUE 用循环判断哪些值是ture 记下这个checkbox的号就可以了啊

以下代码循环当前窗体上的所有控件,如果存在复选框控件,则将控件状态取反。希望对你有帮助
Dim nControl as Control
For Each nControl In Me.Controls
If TypeName(nControl ) = "CheckBox" Then
nControl .Value = Not nControl .Value
End If
Next

再给你段代码,按控件名zd设置状态(将CheckBox1等换成你的控件名):
Dim ctlArray as Variant
Dim i As Integer
ctlArray = Array("CheckBox1", "CheckBox2", "CheckBox3")
For i = 0 To Ubound(ctlArray)
Me.Controls(ctlArray(i)).Value = Not Me.Controls(ctlArray(i)).Value
Next i
你这区域 我看着 好熟悉啊,我天天也 倒腾这些 区域。。。。。
EMEA 大中东区

用事件+ 属性做

这个问题主要是用到VBA 窗体的事件. 单击7a64e78988e69d83363checkbox事触发修改单元格内容的动作. 具体操作如下:

1.在VBA编辑器中打开你的这个窗体,双击具体的一个CheckBox. 然后会进入此窗体的代码页面.系统会自动帮你建立一个checkbox的单击事件.

Private Sub CheckBox1_Click()
    '这里添加你的代码
End Sub

2. 你的代码是通过判断单击的checkbox的状态来执行操作, 这个用到checkbox的Value属性.如:

Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
        With ActiveSheet.Range("A1")
            .Offset(1, 0) = "Hello!"
            .Offset(2, 0) = TextBox1.Value
        End With
    Else
        With ActiveSheet.Range("A1")
            .Offset(1, 0).ClearContents
            .Offset(2, 0).ClearContents
        End With
    End If
End Sub

以上只是举例,没有套用你的代码. 我做了个简单的示例,可以下载查看.

你有4个checkbox最简单的做法就是针对每个checkbox都添加一个单击事件. 单击事件也可以用change事件替代.

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网