excel - 有没有办法在用户窗体上嵌套相关的组合框?
问题描述
我正在尝试在用户表单中设置多个依赖组合框。例如,用户将在第一个组合框中选择一个选项。根据他们的选择,第二个组合框会加载适当的选项。从那里,我有一个选择会导致第三个组合框,而其余的则以第二个框结束。有没有办法做到这一点?我可以使第一部分工作,但不能使第二部分工作。
Private Sub UserForm_Initialize()
Label10.Visible = False
ComboBox3.Visible = False
With RegionBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
End Sub
---------------------------------------------------------------------------
Private Sub ComboBox1_Change()
Dim index As Integer, index2 As Integer
index = ComboBox1.ListIndex
index2 = ComboBox2.ListIndex
BuildingBox.Clear
Select Case index
Case Is = 0
With BuildingBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Select Case index2 'This select case is where doesn't work
Case 0
With HQBox
.Visible = True
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Label10.Visible = True
End Select
Case Is = 1
With BuildingBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Case Is = 2
With BuildingBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
End Select
End Sub
我希望隐藏第三个框,除非选择组合框 2(第一个)中的选项,触发它显示。到目前为止,根据combobox1的选择正确添加了combobox2中的选择,但是我无法填充combobox3
解决方案
负责创建第三个组合框的部分应该在 ComboBox2_Change() 函数中。
Private Sub UserForm_Initialize()
Label10.Visible = False
ComboBox3.Visible = False
With RegionBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
End Sub
---------------------------------------------------------------------------
Private Sub ComboBox1_Change()
Dim index As Integer
index = ComboBox1.ListIndex
BuildingBox.Clear
Select Case index
Case Is = 0
With BuildingBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Case Is = 1
With BuildingBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Case Is = 2
With BuildingBox
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
End Select
End Sub
Private Sub ComboBox2_Change()
Dim index2 As Integer
index2 = ComboBox2.ListIndex
HQBox.Clear
HQBox.Visible = False
Label10.Visible = False
Select Case index2
Case Is = 0
With HQBox
.Visible = True
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Label10.Visible = True
End Select
End Sub
推荐阅读
- python - `from x import x` 究竟是什么意思?
- c# - 在循环中创建对象 C#
- python - 使用 DiscordPy 处理 IndexError 和属性错误
- docker - 如何从容器内部查找容器图像名称/标签
- .net - 将看起来像日期的 DateTime 或 String 类型作为参数传递给 URL / (.net webapi)
- python - 创建 boto3 sts 客户端时出现无效的标头值错误
- blueprint - 在 Popover2 中使用表单输入
- firebase - 即使对经过身份验证的用户使用最简单的规则,Firebase 实时数据库权限也会被拒绝
- r - 仍然无法将 MP4 嵌入闪亮
- sql-server - 以编程方式更改 PowerBI 中的订阅