我有三個組合框:cbo_prefRoom1,cbo_prefRoom2,cbo_prefRoom3。級聯下拉更新和凍結VBA
在形式初始化cbo_prefRoom2和cbo_prefRoom3被禁用。
當用戶選擇在cbo_prefRoom1一個選項,然後它使cbo_prefRoom2。 當用戶在cbo_prefRoom2中選擇一個選項時,則啓用cbo_prefRoom3。
我想這樣做的就是添加,如果用戶在cbo_prefRoom1選擇選項No Preference
其中一個實例,然後發生的事情是cbo_prefRoom2和cbo_prefRoom3用的No Preference
相同的值更新。然後cbo_prefRoom2和cbo_prefRoom3被禁用,直到用戶更改No Preference
的選項cbo_prefRoom1。
還有的這個第二個實例中,如果用戶在cbo_prefRoom2然後cbo_prefRoom3與的No Preference
和殘疾人相同的值更新選擇選項No Preference
。然後cbo_prefRoom3被禁用,直到用戶更改No Preference
的選項cbo_prefRoom2。
我該如何去做到這一點?
Private Sub cbo_prefRoom1_Change()
' When user selects an option in cbo_prefRoom1 then cbo_prefRoom2 is enabled
With cbo_prefRoom2
.Enabled = Len(cbo_prefRoom1.Value) > 0
If Not .Enabled Then
.ListIndex = -1
End If
End With
End Sub
Private Sub cbo_prefRoom2_Change()
' When user selects an option in cbo_prefRoom2 then cbo_prefRoom3 is enabled
With cbo_prefRoom3
.Enabled = Len(cbo_prefRoom2.Value) > 0
If Not .Enabled Then
.ListIndex = -1
End If
End With
End Sub
你是指組合框而不是複選框嗎?複選框只有兩個值,true或false,但是您提到了一個「無偏好」選項,它表示至少三個值。 –
@justnS抱歉,我的意思是組合框 – methuselah
@justnS如果TripleState選項設置爲true,那麼我的複選框可以有三個值。 – Brad