VBA - 参数不是可选错误!尝试根据另一个列表框的“选定值”设置“列表框”的启用属性

时间:2017-06-01 15:25:04

标签: vba excel-vba excel

我有一个名为NoForm的表单,它有两个名为No_ListBox1和No_ListBox4的列表框。

默认情况下,No_ListBox4的属性设置为enabled = false

当No_ListBox1值为"是",时,No_ListBox4的属性设置为enabled = true

当它是"否"时,它保持为enabled = false。但问题是,当用户将其更改回" No"时,我无法取消选择No_ListBox4中的选定值。在No_ListBox1中。

请分享您的想法。

但是,

这是守则,

Private Sub No_ListBox1_Click()

SelectNext = NoForm.No_ListBox1.Value

If SelectNext = "Yes" Then

NoForm.No_ListBox4.Enabled = True

End If

If SelectNext = "No" Then

NoForm.No_ListBox4.Enabled = False

    If NoForm.No_ListBox4.Selected = True Then
        NoForm.No_ListBox4.Selected = False
    End If

End If

2 个答案:

答案 0 :(得分:2)

试试这个:

Private Sub No_ListBox1_Click()
    With Me
        If .No_ListBox1.Value = "Yes" Then
            .No_ListBox4.Enabled = True
        Else
            With .No_ListBox4
                .Selected(.ListIndex) = False
                .Enabled = False
            End With
        End If
    End With
End Sub

答案 1 :(得分:1)

解决方案是翻转你的逻辑。首先取消选择项目,然后禁用控件。