【问题标题】:Hiding an Excel worksheet with VBA使用 VBA 隐藏 Excel 工作表
【发布时间】:2026-02-16 12:45:01
【问题描述】:

我有一个包含三张工作表的 Excel 电子表格。其中一张表包含其他一张表的公式。

是否有一种编程方式来隐藏包含这些公式的工作表?

【问题讨论】:

    标签: excel vba ms-office


    【解决方案1】:

    要从 UI 中隐藏,请使用“格式”>“工作表”>“隐藏”

    要以编程方式隐藏,请使用Worksheet 对象的Visible 属性。如果您以编程方式执行此操作,您可以将工作表设置为“非常隐藏”,这意味着它无法通过 UI 取消隐藏。

    ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden 
    ' or xlSheetHidden or xlSheetVisible
    

    您还可以通过 VBA IDE 中工作表的属性窗格设置 Visible 属性(ALT+F11)。

    【讨论】:

    • @MárioMeyrelles 没有使用 Excel 的计算机,所以我无法亲自尝试 - 非常隐藏了什么?!
    • 这意味着您无法从功能区中取消隐藏它(格式 > 隐藏和取消隐藏 > 取消隐藏工作表)。您只能通过 VBA 取消隐藏它。
    【解决方案2】:

    您可以使用 VBA 宏以编程方式执行此操作。您可以使工作表隐藏非常隐藏

    Sub HideSheet()
    
        Dim sheet As Worksheet
    
        Set sheet = ActiveSheet
    
        ' this hides the sheet but users will be able 
        ' to unhide it using the Excel UI
        sheet.Visible = xlSheetHidden
    
        ' this hides the sheet so that it can only be made visible using VBA
        sheet.Visible = xlSheetVeryHidden
    
    End Sub
    

    【讨论】:

      【解决方案3】:

      只是想在给出的答案中添加更多细节。你也可以使用

      sheet.Visible = False
      

      隐藏和

      sheet.Visible = True
      

      取消隐藏。

      Source

      【讨论】:

      【解决方案4】:

      只要工作表处于活动状态,这可以在一行中完成:

      ActiveSheet.Visible = xlSheetHidden
      

      但是,您可能不想这样做,尤其是当您使用任何“选择”操作或使用更多 ActiveSheet 操作时。

      【讨论】:

        【解决方案5】:

        我想回答你的问题,因为有多种方法 - 这里我将讨论广泛使用的代码。

        所以,为了隐藏工作表:

        Sub try()
            Worksheets("Sheet1").Visible = xlSheetHidden
        End Sub
        

        如果你想学习所有方法,还有其他方法Click here

        【讨论】: