创建仅显示某些工作表而不显示所有可用工作表的组合框,以及即使隐藏也可以单击该工作表吗?
am使用表单控件comboBox,在付款代码中
Private Sub cbSheet_Change()
If cbSheet.Value <> "Select a Sheet" Then
Worksheets(cbSheet.Value).Select
End If
cbSheet.Value = "Select a Sheet"
End Sub
Private Sub Worksheet_Activate()
Dim Sh As Worksheet
Me.cbSheet.Clear
For Each Sh In ThisWorkbook.Worksheets
Me.cbSheet.AddItem Sh.Name
Next Sh
End Sub
在ThisWorkBook代码中
Private Sub Workbook_Open()
If ActiveSheet.Name = "Master Data" Then
Worksheets("Report").Select
Worksheets("Master Data").Select
End If
End Sub
答案 0 :(得分:0)
在工作表中循环浏览时,可以确保不要在组合框中添加不需要的工作表
Private Sub ComboBox1_Change()
Dim sh As Worksheet, s As String
s = Me.ComboBox1
If s = "" Then Exit Sub
Set sh = Sheets(s)
With sh
If .Visible = False Then
.Visible = True
End If
.Select
End With
End Sub
Private Sub Worksheet_Activate()
Dim sh As Worksheet
Application.EnableEvents = False
Me.ComboBox1.Clear
For Each sh In Sheets
If sh.Name <> "Sheet1" Then
Me.ComboBox1.AddItem sh.Name
End If
Next sh
Application.EnableEvents = True
End Sub
代码应添加隐藏的工作表名称
Private Sub Worksheet_Activate()
Application.EnableEvents = False
Me.ComboBox1.Clear
With Me.ComboBox1
.AddItem "Sheet2"
.AddItem "Sheet4"
.AddItem "Sheet5"
.AddItem "Sheet6"
End With
Application.EnableEvents = True
End Sub