作者:乔山办公网日期:
返回目录: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事件替代.