组合框选择工作查找,隐藏和取消隐藏工作表

时间:2019-11-29 11:49:05

标签: excel vba combobox

我创建了一个链接到主工作表上名为“ ActiveX”的comboBox的VBA。即使更改工作表名称,添加或删除工作表,该comboBox也会自动填充每个现有工作表的名称。当选择了代表工作表的组合框的下拉项时,用户将被带到所选的工作表。

我正在做的事情正在尝试添加到此:

  1. 在选定的工作表上,我想添加一个按钮,将我带回到主工作表,称为“ ActiveX”
  2. 隐藏除所选工作表和名为“ activeX”的工作表(这是主菜单工作表)之外的所有工作表

由于用户偶尔可以添加或删除其他工作表,因此是否可以仅将按钮自动插入到所选工作表中。不必在每个工作表上添加按钮? 我在创建VBA代码方面并不熟练,因此我尝试从此类网站进行复制,修改和改编。

`Private Sub cbSheet_Change()
      If cbSheet.Value <> "Select Item" Then
      Worksheets(cbSheet.Value).Select
      End If
      cbSheet.Value = "Select Item"
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`

1 个答案:

答案 0 :(得分:0)

隐藏和取消隐藏工作表

Sub Hide_SH()
    Dim sh As Worksheet
    For Each sh In Sheets
        If sh.Name <> "ActiveX" Then sh.Visible = False
    Next sh
End Sub
Sub UnHide_SH()
    Dim sh As Worksheet
    For Each sh In Sheets
        sh.Visible = True
    Next sh
End Sub

您可以将超链接添加到所选工作表。

Private Sub cbSheet_Change()
    Dim ws As Worksheet
    If cbSheet.Value <> "Select Item" Then
        Set ws = Sheets(Me.cbSheet.Value)
        With ws
            .Visible = True
            .Select
            .Hyperlinks.Add Anchor:=.Range("A1"), Address:="", SubAddress:= _
                            "ActiveX!A1", TextToDisplay:="ActiveX!A1"
        End With
    End If
    cbSheet.Value = "Select Item"
End Sub