如何在 vba 中设置选中的属性(格式或控制工具箱)

Posted

技术标签:

【中文标题】如何在 vba 中设置选中的属性(格式或控制工具箱)【英文标题】:How to set checked property in vba (format or control toolbox) 【发布时间】:2011-03-02 18:58:36 【问题描述】:

我正在尝试根据另一个单元格的值将复选框的值更改为 true

if range("A1").value = "green" then
Checkbox1.value= true

end if 

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

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

【问题讨论】:

【参考方案1】:

这对我来说很好用:

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

如果您处于设计模式,这将不起作用。

【讨论】:

代码给了我一个需要对象的错误(424)我也尝试在我的第一个 Checkbox.value = true 语句之后放置一个 And,但它不起作用。【参考方案2】:

这将更改所有复选框

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

复选框和复选框是隐藏属性。你不会得到智能感知,但它们可以工作。

【讨论】:

我正在尝试在我的表单上指定我想要打勾的复选框。例如对于 checkbox1 ,我希望用户看到它被勾选了。【参考方案3】:

此代码适用于 Office365:

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

【讨论】:

以上是关于如何在 vba 中设置选中的属性(格式或控制工具箱)的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Excel VBA 中设置 RefersToRange 属性时出现问题

vba去掉单元格中的'

如何在 VBA 中设置全局变量

如何使用jquery在输入标签中设置previousvalue属性

如何在iphone中设置默认选中Tab bar item 1?

Tkinter 窗口属性设置