如果Selection包含关键字,则更改VBA Userform Combox下拉列表的可见性

时间:2018-04-13 08:35:17

标签: excel vba excel-vba

VBA Userform Combox下拉列表,如果选择包含关键字" Director"我希望textbox1可见。

所以我有一个用户表单,并且文本框标有手机号码,但我不需要显示文本框或标签,除非在组合框中包含我想要使用的单词导演代码,但不起作用。 ..

ComboBox3_Change ()     
If UCase(ComboBox3.text) = "OPERATION DIRECTOR" Then Textbox1.Visible = True
If UCase(ComboBox3.text) = "OPERATION DIRECTOR" Then Label26.Visible = True

似乎没有工作,它不会取消隐藏文本框。

隐藏我使用的文本框:

With Me
.Textbox1.Visible = False
.Label26.Visible = False 

提前致谢

2 个答案:

答案 0 :(得分:0)

你需要一个关于组合框的事件。要确保VBA自动生成它,只需双击ComboBox,当表单处于" developer" -mode时。你会得到这样的东西,光标位于中间:

Private Sub ComboBox1_Change()

End Sub

然后这可能是用1-liner进行的最短方式:

Private Sub ComboBox1_Change()
    tb1.Visible = CBool(UCase(ComboBox1) = "OD")
End Sub

它被翻译为:

If Ucase(ComboBox1) = "OD" Then 
   tb1.Visible = True
End If

答案 1 :(得分:0)

尝试将您的代码放入组合框更改事件i.s.o. textbox1更改事件:

Private Sub ComboBox3_Change()
    If UCase(ComboBox3.text) = "OPERATION DIRECTOR" Then Textbox1.Visible = True
    If UCase(ComboBox3.text) = "OPERATION DIRECTOR" Then Label26.Visible = True
end sub