vba - VBA-下拉导航到工作表/工作簿
问题描述
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
End Sub
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
这就是我到目前为止所拥有的。目前它显示了我所有的工作簿/工作表,因为我只希望它显示 10 个特定工作表。
解决方案
基于此评论:
“其他工作表是 A 部分、B 部分和 D 部分。我不希望它们出现在下拉列表中”
这将起作用
For Each xSheet In ThisWorkbook.Sheets
Select Case xSheet.Name
Case Is = "Part A", "Part B", "Part D"
Case Else
ComboBox1.AddItem xSheet.Name
End Select
Next xSheet
您可以轻松修改 Select Case 语句以创建更多条件。
你也可以做一些更复杂的事情,比如下面的更多模式匹配:
Select Case Instr(xSheet.Name, "(")
Case Is > 0: ComboBox1.AddItem xSheet.Name
End Select
推荐阅读
- javascript - Ajax Load 在 setTimeout 中递归工作?
- unity3d - 从 Unity 访问 TrueDepth
- go - go/importer.Import 在生产中返回错误“找不到导入”
- ansible - 具有值范围的 JMESPath 查询表达式
- python - 全局优化:如何更一致地找到相同的最小值?
- xml - Ext 4.2.1 使用 AJAX XML 阅读器加载 PHP 生成的 XML 文件
- javascript - 多个自动滚动项目列表
- angular - Angular 2 分页
- scala - 使用 Spark 将数据放在 Websphere MQ 上
- python - 注释不同的对象python