如何在vba中设置checked属性(格式或控件工具箱)

时间:2010-06-11 17:59:57

标签: excel vba checkbox

我正在尝试根据另一个单元格的值

将我的复选框的值更改为true
if range("A1").value = "green" then
Checkbox1.value= true

end if 

如何同时将多个复选框的value属性更改为true

出于某种原因,我尝试过的代码根本没有做任何事情。 附:我正在使用格式复选框

3 个答案:

答案 0 :(得分:6)

这将更改所有复选框

Sub Changeboxes()

    Dim cb As CheckBox

    If Sheet1.Range("a1").Value = "green" Then
        For Each cb In Sheet1.CheckBoxes
            cb.Value = True
        Next cb
    End If

End Sub

如果您需要指定特定复选框,则

Sub ChangeSomeCbs()

    If Sheet1.Range("a1").Value = "green" Then
        Sheet1.CheckBoxes("Check Box 1").Value = True
        Sheet1.CheckBoxes("Check Box 2").Value = False
        Sheet1.CheckBoxes("Check Box 3").Value = True
    End If

End Sub

复选框和复选框是隐藏属性。你不会得到智能感知,但它们有效。

答案 1 :(得分:0)

这对我来说很好用:

If range("O26").Value = "green" Then
    CheckBox1.Value = True
    CheckBox2.Value = True
End If

如果您处于设计模式,则无效。

答案 2 :(得分:0)

此代码适用于Office365:

If range("O26").Value = "green" Then
    CheckBox1 = True
    CheckBox2 = True
End If