我在名为'Images'的工作表中有多个名为cBox1,cBox2等的复选框。
我有三张:数据表,图像,数据(分别)。 Images
包含两个带有各种复选框的图像,一个文本框和一个按钮。当我单击按钮时,代码从文本框和复选框中获取值,并将值插入Data
表中的表中。
我试图通过以下代码检查是否选中了复选框:
If ThisWorkbook.Worksheets(2).Shapes("cBox1").OLEFormat.Object.Value = 0 Then
totalOfWeldsInOrder = totalOfWeldsInOrder + 1
s1 = 0
notInOrder = True
End If
但是,价值永远不会改变。
如何获取复选框的选中值?
我也尝试了下面的内容,但没有成功:
If ThisWorkbook.Worksheets(2).Shapes("cBox1").OLEFormat.Object.Value = -4146 Then
totalOfWeldsInOrder = totalOfWeldsInOrder + 1
s1 = 0
notInOrder = True
End If
还
If Sheet2.Shapes("cBox1").ControlFormat.Value = xlOff Then
......
End If
编辑:
If ThisWorkbook.Worksheets(2).cBox1.Value = 0 Then
totalOfWeldsInOrder = totalOfWeldsInOrder + 1
s1 = 0
notInOrder = True
End If
返回:
答案 0 :(得分:0)
您的问题有一个简单的解决方案:
使用Active-X复选框。在菜单栏的“开发工具”选项卡下,有“插入”,它允许您插入两种复选框,两种每种控制结构。一个是active-x组件,它是更新的,另一个是出于向后兼容性的原因。因此,永远不要使用其他任何Active-X组件。然后代码可以如下使用:
If ThisWorkbook.Worksheets(2).Checkbox1.Value = False Then
totalOfWeldsInOrder = totalOfWeldsInOrder + 1
s1 = 0
notInOrder = True
End If
可以通过显示和编辑它的属性来更改复选框名称“CheckBox1”,这样它也可以被称为“okbox”,这个名称将替换代码中的CheckBox1。