我试过基于以下代码。它在下面提到。实际上我想要隐藏一个特定的表单列表,这些表单在一个名为" Summery"从范围(7,8)到(40,8)。以下是代码:
Private Sub ToggleButton2_Click()
Dim sheet As Worksheet
rc = 40
For r = 7 To rc
sheet = Sheet37.Cells(r, 8)
Sheet.Visible = xlSheetHidden
Next
End Sub
但它没有用。请帮忙。
答案 0 :(得分:0)
而不是
sheet = Sheet37.Cells(r, 8)
使用
Set sheet = Worksheets(Sheet37.Cells(r, 8))
如果列出的工作表名称不存在,您还应考虑添加错误处理
答案 1 :(得分:0)
由于您使用切换按钮,我假设您想在第二次点击时取消隐藏它?所以也许试试这个:
Private Sub ToggleButton1_Click()
Dim sh As Worksheet, ws As Worksheet
Dim shList As Variant
Set ws = ThisWorkbook.Sheets("Summery")
shList = Application.Transpose(ws.Range("H7:H40"))
For Each sh In ThisWorkbook.Sheets
If Not IsError(Application.Match(sh.Name, shList, 0)) Then
sh.Visible = Not sh.Visible
End If
Next
End Sub