nnsea 发表于 2024-2-10 19:53:40

隐藏工作表VBA

Sub HideWorksheetsByPrefix()
    Dim ws As Worksheet
    Dim prefix As String
    Dim found As Boolean
      
    ' 弹出输入框让用户输入要隐藏的工作表名称前缀
    prefix = InputBox("请输入要隐藏的工作表名称前缀:", "隐藏工作表")
      
    ' 检查用户是否输入了前缀
    If prefix = "" Then
      MsgBox "您没有输入任何前缀,操作已取消。", vbExclamation
      Exit Sub
    End If
      
    ' 循环遍历所有工作表
    For Each ws In ThisWorkbook.Worksheets
      ' 检查工作表名称是否以指定前缀开头
      If Left(ws.Name, Len(prefix)) = prefix Then
            ' 隐藏匹配的工作表
            ws.Visible = xlSheetVeryHidden ' 使用xlSheetVeryHidden将工作表设置为非常隐藏,这样它就不会出现在“取消隐藏”对话框中
            found = True ' 标记至少找到了一个匹配的工作表
      End If
    Next ws
      
    ' 如果没有找到任何匹配的工作表,则通知用户
    If Not found Then
      MsgBox "没有找到以 '" & prefix & "' 开头的工作表。", vbInformation
    Else
      MsgBox "以 '" & prefix & "' 开头的工作表已被隐藏。", vbInformation
    End If
End Sub
页: [1]
查看完整版本: 隐藏工作表VBA