【问题标题】:grey out checkbox2 and checkbox3 unless checkbox1 = true灰色的 checkbox2 和 checkbox3 除非 checkbox1 = true
【发布时间】:2017-11-08 07:39:16
【问题描述】:

你的另一个 VBA 困境。

我有 checkbox1、checkbox2 和 checkbox3。 如果 checkbox1=true,我希望 checkbox2 和 checkbox3 显示为灰色 我使用了类似的代码来使文本框变灰

    Private Sub CheckBox1_Click()
    Dim en As Boolean
    en = Not CheckBox1.Value
    EnableControls Array(tbappgn, tbappfn), en

'utility sub: enable/disable controls
Private Sub EnableControls(cons, bEnable As Boolean)
    Dim con
    For Each con In cons
        With con
            .Enabled = bEnable
            .BackColor = IIf(bEnable, vbWhite, RGB(200, 200, 200))
        End With
    Next con
End Sub

只是在其他复选框上使用相同的代码时遇到问题。

可以将复选框编号添加到上面的代码中,但我不希望该复选框成为灰色/取消灰色其他复选框的触发器

类似的东西,但使用正确的术语。

Private Sub CheckBox11_Click()
 Dim en As Boolean
   en = Not CheckBox11.Value
    EnableControls Array(checkbox12, checkbox13), en

    Private Sub CheckBox15_Click()
    Dim en As Boolean
    en = Not CheckBox15.Value
    EnableControls Array(checkbox16, checkbox17), en

Private Sub EnableControls(cons, bEnable As Boolean)
    Dim con
    For Each con In cons
        With con
            .Enabled = bEnable
            .BackColor = IIf(bEnable, vbWhite, RGB(200, 200, 200))
        End With
    Next con
End Sub

【问题讨论】:

  • 查看上面的代码以获得所需的最终结果哈哈。抱歉,这里的代码看起来不太好。
  • 当你发现一个复选框被选中后,你能不能不取消选中任何其他复选框?
  • 基本上我希望 checkboxa=false (复选框 1、2 和 3 变灰) checkboxb=false (复选框 4、5 和 6 变灰)等。我希望 checkboxa+b 取消其他复选框,如果他们=真。
  • 不清楚这里的问题是什么。 “用正确的术语”是什么意思?
  • 别担心 -.-'' 代码现在可以工作,但 5 分钟前还不行。我讨厌编码。

标签: vba checkbox ms-word


【解决方案1】:

这是你要求的吗?当 checkbox1 为 true 时,另一个将是灰色的...反之亦然...

Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
        CheckBox2.Enabled = False
        CheckBox3.Enabled = False
    Else
        CheckBox2.Enabled = True
        CheckBox3.Enabled = True
    End If        
End Sub

【讨论】:

  • 不,我在上面发布的代码现在可以工作了,但是以前不能工作,我不知道为什么。感谢您发布上面的代码,尽管可以肯定地在某个地方使用它! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 2014-11-30
相关资源
最近更新 更多