我在Excel Userform中有一个由用户组类型组成的组合框。 根据用户访问级别,我希望有一些Option \ item禁用或不可见。 我不想使用Removeitem,因为我每次都必须重新填充列表!
sub ComboBox_Enter()
accessLvl = 1
ComboBox.AddItem "0-Show"
ComboBox.AddItem "1-Hide or disable"
ComboBox.AddItem "2-Show"
ComboBox.AddItem "3-Show"
For i = 0 To 3
if accessLvl = 1 Then ComboBox.List(1).Hidden = True ' This not does work!! ''
Next
End sub
我只是希望它被禁用\灰色输出或不可见但仍在Combobox列表中!*
答案 0 :(得分:0)
AFAIK,你不能这样做,但还有另一种选择。用户将无法选择某些项目(无论您指定哪个项目),即使它可见且未被禁用。
为此尝试此代码
Dim boolC As Boolean
'~~> Add Sample data
Private Sub UserForm_Initialize()
ComboBox1.AddItem "Please Choose Again"
For i = 1 To 10
ComboBox1.AddItem i
Next i
End Sub
'~~> This will not let the user select items in 2nd
'~~> 3rd and 4th items
Private Sub ComboBox1_Change()
If Not boolC Then
boolC = True
Select Case ComboBox1.ListIndex
Case 1, 2, 3: ComboBox1.ListIndex = 0
End Select
boolC = False
End If
End Sub
<强>截图强>
假设您的表单在表单启动时看起来像这样。
当您选择第2,第3或第4项时,您将获得Please Choose Again