Vba 使用4个多选复选框为单元格赋值
我希望通过使用4个多选复选框为单元格指定一个值,如果条件为真,则每个复选框的值为1。我想在链接单元格中总结它们的值,以便单元格值可以变化。例如:Vba 使用4个多选复选框为单元格赋值,vba,excel,Vba,Excel,我希望通过使用4个多选复选框为单元格指定一个值,如果条件为真,则每个复选框的值为1。我想在链接单元格中总结它们的值,以便单元格值可以变化。例如: 所有复选框条件为真链接单元格中的值为4 其中一些是真的链接单元格中的值可以在1-3之间变化 如果链接单元格中的值为0,则所有值均为false If CheckBox1.Value = True Then Range("D2").Value = 1 If CheckBox1.Value = False Then Range("D2
If CheckBox1.Value = True Then Range("D2").Value = 1
If CheckBox1.Value = False Then Range("D2").Value = 0 etc.
我希望通过使用vba宏来解决这个问题 你可以这样做。基于链接单元格,如果为真,则获取1;如果为假,则获取零。然后对所有值求和 对于VBA解决方案
Private Sub CheckBox1_Click()
Dim str As Integer
str = 0
If CheckBox1.Value = True Then str = str + 1
If CheckBox2.Value = True Then str = str + 1
If CheckBox3.Value = True Then str = str + 1
If CheckBox4.Value = True Then str = str + 1
Range("D2").Value = str
End Sub
只需在单击宏foreach复选框之前设置它
Public count As Integer
Public Sub btn_Click()
Dim cbName As String
If (count = Null) Then
count = 0
End If
cbName = Application.Caller
If (Sheets("Tabelle1").Shapes(cbName).ControlFormat.Value = xlOn And count < 4) Then
count = count + 1
ElseIf (count > 0) Then
count = count - 1
End If
Range("A1").Value = count
End Sub
公共计数为整数
公共子btn_单击()
将名称设置为字符串
如果(count=Null),则
计数=0
如果结束
cbName=Application.Caller
如果(表(“表1”).Shapes(cbName).ControlFormat.Value=xlOn且计数<4),则
计数=计数+1
ElseIf(计数>0)然后
计数=计数-1
如果结束
范围(“A1”)。值=计数
端接头
这是我问题的答案: 选项显式
Sub CheckBox1_Click()
Dim count As Integer
If (count = Null) Then
count = 0
End If
count = 0
If ActiveSheet.Shapes("Check Box 1").ControlFormat = xlOn Then count = count + 1
If ActiveSheet.Shapes("Check Box 2").ControlFormat = xlOn Then count = count + 1
If ActiveSheet.Shapes("Check Box 3").ControlFormat = xlOn Then count = count + 1
If ActiveSheet.Shapes("Check Box 4").ControlFormat = xlOn Then count = count + 1
Range("A1").Value = count
End Sub非常感谢,但我更愿意使用vba宏对其进行排序。正如你所想象的,这个问题不包括大局。嗨,玛蒂,谢谢,但我已经插入了你的代码,当我点击复选框时,D2单元格没有我想要的更改。你对此有什么见解吗?同样,当我运行代码时,会弹出一个窗口,说需要对象。有什么线索吗?你在使用ActiveX控件复选框吗?是的,我在使用它们我在类型不匹配方面有问题你在使用ActiveX复选框我想如果你不关心格式,那么使用FormControls复选框会更加困难你会建议什么呢?我再次选中,我在使用form control复选框,它会不断给出类型不匹配错误有什么线索吗?要么使用表单控件复选框,要么浏览一下Inzina的教程(所以上面有链接)