我对组合框的内容有疑问。在我的用户表单上,有3个组合框。 根据combobox1中选择的项目,combobox2应显示第1组或第2组。
组合框3的内容也会发生同样的情况,这取决于组合框1和2中所选项目的组合。
但是,我遇到了组合框2的问题,即使我选择组合框1中应该在第二个组合框中生成组1的项目,它总是由组2填充。
这是我使用的代码:
Private Sub UserForm_Initialize()
With ComboBox1
.Clear
.AddItem "In contrast"
.AddItem "Eng?"
.AddItem "Trillers"
.AddItem "Natuur(lijk)"
.AddItem "Muziektrafiek"
End With
If ComboBox1.Value = "In contrast" Then
GoTo LineComboBox1Set1
End If
If ComboBox1.Value = "Eng?" Then
GoTo LineComboBox1set2
End If
If ComboBox1.Value = "Trillers" Then
GoTo LineComboBox1set2
End If
If ComboBox1.Value = "Natuur(lijk)" Then
GoTo LineComboBox1set2
End If
If ComboBox1.Value = "Muziektrafiek" Then
GoTo LineComboBox1set2
End If
LineComboBox1Set1:
With ComboBox2
.Clear
.AddItem "Op verkenning"
.AddItem "Gehoord? Gezien?"
.AddItem "On stage"
.AddItem "Creabende"
.AddItem "Ingeblikt"
End With
LineComboBox1set2:
With ComboBox2
.Clear
.AddItem "Op verkenning"
.AddItem "Gehoord? Gezien?"
.AddItem "On stage"
.AddItem "Creabende"
.AddItem "Ingeblikt"
.AddItem "Speak up"
.AddItem "In de kijker"
End With
任何人都可以帮我这个吗?
提前多多感谢!!
亲切的问候, 马克
答案 0 :(得分:0)
当您使用goto语句时,代码不会结束。即你将代码发送到LineComboBox1set1并且代码执行该代码,然后继续运行每行代码,因为没有什么能阻止它!
快速修复只是在每个“End With”之后添加“Exit Sub”,但如果是我的代码,我会使用SELECT CASE开关重构它,即
SELECT CASE ComboBox1.Value
Case "In contrast"
With ComboBox2
Etc.....
End With
Case "Eng?", "Thriller" and so on
With ComboBox2
Stuff for set 2
End With
End Select