2015-10-15 102 views
2

我有一個用戶窗體,需要根據打開窗體的用戶顯示不同的選項。其中一些選項只能在組合框中進行選擇後才能啓用,但我似乎無法找到在選擇組合框選擇後更新它們的方法。 什麼我使用的是:啓用基於Combobox的命令按鈕

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是有問題的ComboBox和bQuickentry,bView和bAdjust是按鈕。 使用此代碼,按鈕不會啓用,直到我單擊窗體上的其他位置,而不是在進行選擇後立即啓用。然後,如果我清除組合框Excel掛起並且必須強制關閉。

我試着改用Private Sub cbCharts_OnExit來代碼相同,但它什麼也沒做。

我知道我可以讓所有按鈕都啓用並可見,爲每個按鈕的代碼添加一個驗證步驟,以確保在繼續之前有一個有效的組合框選擇,但是我希望啓用並設置其可見性以防止用戶混淆,因爲大多數電子表格用戶都無法使用這些按鈕。

我在做什麼錯?

回答

2

嘗試將代碼放入cbCharts_Click()事件函數中。用戶在列表中選擇一個項目後立即觸發此事件。

+0

謝謝,這工作完美 – Toast