禁用或隐藏组合框VBA Excel中的选项
我在Excel Userform中有一个组合框,由用户组类型组成。 根据用户访问级别,我希望有一些选项\项禁用或不可见。 我不想使用Removeitem,因为我每次都要重新填充列表禁用或隐藏组合框VBA Excel中的选项,excel,vba,Excel,Vba,我在Excel Userform中有一个组合框,由用户组类型组成。 根据用户访问级别,我希望有一些选项\项禁用或不可见。 我不想使用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
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
我只希望它被禁用\灰显或不可见,但仍在组合框列表中* 好吧,你不能这么做,但还有其他选择。用户将无法选择某些项目(以您指定的为准),即使该项目可见且未被禁用 为此,请尝试以下代码
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
屏幕截图
假设您的表单在表单启动时看起来像这样
当您选择第二、第三或第四项时,您将获得请再次选择
谢谢,这是一个很好的选择!后备位置将由Telerik或其他供应商的第三方控制。他们可能有这样的东西,但要花美元。