启用基于Combobox

时间:2015-10-15 22:23:28

标签: excel-vba vba excel

我有一个userform需要根据打开表单的用户显示不同的选项。只有在组合框中进行选择后才能启用其中一些选项,但在选择组合框选择后,我似乎找不到让它们更新的方法。 我正在使用的是:

Private Sub cbCharts_AfterUpdate()
If Me.cbCharts Is "" Then
    Me.bQuickEntry.Enabled = False
    Me.bView.Enabled = False
    Exit Sub
ElseIf UserDep = "Quality Control" Then
    Me.bQuickEntry.Enabled = True
    Me.bView.Enabled = True
    Me.bAdjust.Enabled = True
Else
    Me.bView.Enabled = True
    Me.bQuickEntry.Enabled = True
End If
End Sub

cbCharts是有问题的组合框,bQuickentry,bView和bAdjust是按钮。 使用此代码,在我单击表单上的其他位置之前,按钮不会启用,而不是在进行选择后立即启用。然后,如果我清除组合框Excel挂起并且必须强行关闭。

我尝试使用Private Sub cbCharts_OnExit使用相同的代码,但它根本不做任何事情。

我知道我可以让所有按钮都启用并显示为每个按钮的代码添加一个验证步骤,以确保在继续之前有一个有效的组合框选择,但我更愿意启用并设置其可见性以防止用户混淆,因为大多数电子表格用户都无法使用其中一些按钮。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

尝试将代码放入cbCharts_Click()事件函数中。一旦用户选择列表中的项目,就会触发此事件。