取消隐藏非常隐藏的表格Excel VBA

我正在尝试创build一个用户窗体,将根据用户窗体上的combobox的值来取消隐藏特定的工作表。 有3个不同的工作表在工作簿中“非常隐藏”。 combobox中填充3个选项,每个隐藏表单一个。 我正在使用select case来使正确的表单可见(最终将会有多于3个表单/选项,下面的示例代码(位于用户表单代码窗口中):

Private Sub NextButton_Click() Select Case ComboBox Case ComboBox.ListIndex = 0 Sheets(1).Visible = True Case ComboBox.ListIndex = 1 Sheets(2).Visible = True Case ComboBox.ListIndex = 2 Sheets(3).Visible = True End Select Unload UserForm End Sub 

我点击下一个button,用户窗体卸载,但工作表不可见。 VBA也不会带来任何错误。 请让我知道,如果我需要提供更多的信息。

你的病例陈述是不正确的。 你应该告诉它在第一部分testing什么值,然后再指定值。 请参阅Tech on the Net关于VBA案例的文章 。

 Private Sub NextButton_Click() Select Case ComboBox.ListIndex Case 0 Sheets(1).Visible = True Case 1 Sheets(2).Visible = True Case 2 Sheets(3).Visible = True End Select Unload UserForm End Sub 

这是大多数编程语言中的case语句的工作方式。

但是,由于ComboBox.ListIndex是一个int,并且您正在告诉它要显示哪个表单,所以可以简化整个事件并删除case语句。 这假设索引匹配,他们在你的例子中做。

 Private Sub NextButton_Click() Sheets(ComboBox.ListIndex+1).Visible = True Unload UserForm End Sub