使用下拉框/组合框和宏在Excel电子表格中的选项卡之间切换
我已经为它挣扎了几个小时,我想请您提供帮助,什么是VBA代码,我应该如何实现这一点,因为我有大约30个选项卡,我想创建一个下拉列表,以简化选项卡之间的切换 见下图:使用下拉框/组合框和宏在Excel电子表格中的选项卡之间切换,excel,vba,tabs,macros,switch-statement,Excel,Vba,Tabs,Macros,Switch Statement,我已经为它挣扎了几个小时,我想请您提供帮助,什么是VBA代码,我应该如何实现这一点,因为我有大约30个选项卡,我想创建一个下拉列表,以简化选项卡之间的切换 见下图: 我建议使用验证列表框而不是组合框,然后将单元格命名为“wsSelect”,因为这样更简单。打开Visual Basic和包含用户选择要打开的工作表的列表的工作表,并使用代码框顶部的两个下拉框创建工作表更改子项。然后,当列表框值更改时,将运行以下代码来更改工作表: Sub Worksheet_Change(ByVal Target A
我建议使用验证列表框而不是组合框,然后将单元格命名为“wsSelect”,因为这样更简单。打开Visual Basic和包含用户选择要打开的工作表的列表的工作表,并使用代码框顶部的两个下拉框创建工作表更改子项。然后,当列表框值更改时,将运行以下代码来更改工作表:
Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("wsSelect")) Is Nothing Then
Call Pb_Switch_Sheet
End If
端接头
您需要创建一个新模块,其中包含一个公共子模块以切换工作表(excel不喜欢在模块中为工作表引用不同的工作表)。然后,像这样一个简单的sub应该可以做到:
Public Sub Pb_Switch_Sheet()
Dim wsName As String
ws = ThisWorkbook.ActiveSheet.Range("wsSelect").Value
ThisWorkbook.Sheets(ws).Select
端接头
希望有帮助
A尝试将工作表名称添加到A组合框:
With Sheets(1)
For shtIndex = 2 to Application.Sheets.Count
.Combobox1.additem Sheets(shtIndex).name
next shtIndex
end with
在combobox1更改或单击事件下运行以下命令
Sheets(combobox1.text).select
我们都喜欢简单的事情但您需要提供更多详细信息。您还可以构建一个目录选项卡,其中包含指向所有其他选项卡的超链接,以及指向每个选项卡上ToC的超链接。