微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过下拉列表切换工作表

如何解决通过下拉列表切换工作表

我对VBA还是很陌生,并且正在尝试创建一种通过“索引”主页面上的下拉列表在工作簿中导航工作表的方法。由于工作簿中有多个工作表,并且有多个人使用,因此我希望下拉列表自动填充,以免需要在列表中进行搜索。然后,我希望打开所选的工作表(可能使用宏按钮,或者如果选择的话,甚至可以按Enter键。)

到目前为止,我有下面的宏填充了下拉列表(从另一个站点获取):

Private Sub ComboBox1_DropButtonClick()
Dim xSheet As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
If ComboBox1.ListCount <> ThisWorkbook.Sheets.Count Then
    ComboBox1.Clear
    For Each xSheet In ThisWorkbook.Sheets
        ComboBox1.AddItem xSheet.Name
    Next xSheet
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
    End Sub

这非常适合我的下拉列表的内容及其自动填充功能;但我正在努力地将最后一步的实际操作包括在内。有关信息,我使用了ComboBox(ActivX控件)。我在想可能是创建一个宏按钮并在下拉选择中引用文本的情况?

任何帮助或建议将不胜感激。

解决方法

您可以使用组合框中的值来切换选项卡。按下按钮后,Sheet1变为活动状态,而不是Sheet2

enter image description here

以下是您自己复制/粘贴和测试的代码:

Private Sub CommandButton1_Click()
Dim mySheet As Worksheet
For Each mySheet In ActiveWorkbook.Worksheets
    If mySheet.Name = ComboBox1 Then
        mySheet.Select
        Exit For
    End If
Next mySheet
End Sub

从本质上讲,这将循环浏览所有工作表以查找组合框中的所有内容。如果有匹配项,则将其选中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。