获取ActiveX复选框状态(已选中或未选中)

时间:2017-01-18 00:07:44

标签: vba excel-vba excel

如何访问复选框状态的值。我希望看到像Value属性的东西,如果选中复选框,它将为True。但是,以下内容不起作用:

Worksheets("Summary").Shapes("chkbxRunLocally").controlform.Value

它抛出:

Object does not support this property or method

如果这不是属性存储的地方,那么呢?

1 个答案:

答案 0 :(得分:1)

我猜你没有使用ActiveX复选框,这个一个.value,但如果你直接将其作为对象变量访问,即

 Debug.Print Worksheets("Summary").chkbxRunLocally.Value

如果您使用的是普通的Excel形状(非ActiveX),请尝试以下方法:

Debug.Print Worksheets("Summary").Shapes("chkbxRunLocally").ControlFormat.Value = 1

Debug.Print Worksheets("Summary").CheckBoxes("chkbxRunLocally").Value = 1

注意=1如果选中形状则为True,如果未选中则为False。取消选中后,返回的.Value-4146,如果直接转换为布尔值,也是如此。测试=1决定(作为布尔值)控件是否实际被检查。