如何解决通过下拉列表切换工作表
我对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
以下是您自己复制/粘贴和测试的代码:
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 举报,一经查实,本站将立刻删除。