【发布时间】:2017-10-02 23:21:36
【问题描述】:
我编写了 VBA 代码,以根据组合框选择显示隐藏选项卡。组合框中有七个选项,每个选项对应于框架中的七个隐藏选项卡。
Private Sub CBO_EntryType_Change()
Dim iPage As Integer
If Me.CBO_EntryType.Value = "Abstracts" Then
iPage = 1
ElseIf CBO_EntryType.Value = "Awards" Then
iPage = 2
ElseIf CBO_EntryType.Value = "Career Fairs" Then
iPage = 3
ElseIf CBO_EntryType.Value = "Editorials" Then
iPage = 4
ElseIf CBO_EntryType.Value = "Rankings" Then
iPage = 5
ElseIf CBO_EntryType.Value = "Tradeshows" Then
iPage = 6
ElseIf CBO_EntryType.Value = "Social Media" Then
iPage = 7
End If
Me.MultiPage1.Pages(iPage).Visible = True
End Sub
我似乎遇到的问题是,如何确保隐藏其他选项卡?由于人们只能单击组合框中的一个选项,但他们可能会错误地单击一个,然后单击正确的一个。根据组合框中的选定项目,只有一个选项卡应可见。其他六个应该隐藏。
我想在 sub 的末尾有一个 For-Each-Next 循环,它会禁用任何与 iPage 变量不匹配的选项卡,但我很难弄清楚如何处理 For 中的框架和页面每个 Next 循环。变量声明是什么?
【问题讨论】:
-
for i = 1 to 7....visible = (i = iPage).... 注意:i = iPage比较结果为真/假 -
******注意!!! .... mutiPage 控件中的选项卡索引从零开始.....第一个是
MultiPage1.Pages(0),因此循环需要为for i = 0 to 6,您需要调整 if/then/else 代码 -
谢谢!今天测试所有解决方案。我会回复你的。
标签: excel vba combobox multipage