ComboBox清除Excel VBA

我正在写一个脚本,我有一个用户Userform与三个ComboBox 。 我希望ComboBox3的内容取决于用户在ComboBox2input的内容。 我已经通过创buildComboBox2的内容的索引并使用Select Case函数来填充ComboBox3 。 这工作正常。

UserForm初始化时, ComboBox3被冻结,直到用户在ComboBox2input一些东西。 但是,我希望ComboBox3变成空的,并且每当用户inputComboBox2的内容后,都会重新冻结其内容。 我试图用下面的代码来做到这一点:

 If ComboBox2 = "" Then ComboBox3 = "" And ComboBox3.Enabled = False End If 

这给了我一个“types不匹配”的错误消息。 我已经尝试了以下,它的工作原理:

  If ComboBox2 = "" Then ComboBox3.Enabled = False End If 

但是,它只会重新冻结ComboBox3 ,我真的需要它是空的。

我究竟做错了什么? 非常感谢您的帮助。

我认为你正在使用And不正确

如果你想要它在同一行然后使用

 If ComboBox2 = vbNullString Then ComboBox3 = vbNullString: ComboBox3.Enabled = False End If 

如果你不是那种代码格式的使用

 If ComboBox2 = vbNullString Then ComboBox3 = vbNullString ComboBox3.Enabled = False End If 

另外最好使用vbNullString而不是空引号