首页 > 解决方案 > 如果组合框为空,则显示/隐藏文本框

问题描述

首先,我要感谢每个回答我之前的问题的人,我有一个组合框(列表)和一个文本框(key1),但我想启用文本框如果组合框不为空,我试着这样做通过这段代码

  Private Sub TextBox1_Change()

If IsNullOrEmpty(ComboBox1.Text) Then

TextBox1.Visible = False
TextBox1.Enabled = False


Else
TextBox1.Visible = True
TextBox1.Enabled = True
End If


End Sub

但结果始终是 textbox1 被禁用,即使我从列表或组合框<>null 中选择

标签: excelvbacomboboxnulltextbox

解决方案


这比你做的简单。

相反,测试 ComboBox1 的文本属性的长度是否大于 0。这将为您提供一个布尔值 True/False。然后,您可以使用该布尔结果在一行中设置任何其他布尔值属性(如Enabledor属性)。Visible

此外,您需要将它放在, not的Change事件上。ComboBox1TextBox1

Private Sub ComboBox1_Change()
  TextBox1.Enabled = (Len(ComboBox1.Text)>0)
End Sub

或者

Private Sub ComboBox1_Change()
  TextBox1.Visible = (Len(ComboBox1.Text)>0)
End Sub

推荐阅读