使用VBA隐藏Excel工作表

34 excel vba ms-office

我有一张包含三张纸的Excel电子表格.其中一张纸包含其他纸张之一的公式.

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

Tmd*_*ean 68

要从UI隐藏,请使用"格式">"表格">"隐藏"

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

ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden 
' or xlSheetHidden or xlSheetVisible
Run Code Online (Sandbox Code Playgroud)

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

  • 这意味着你不能从功能区取消隐藏它(格式>隐藏和取消隐藏>取消隐藏工作表).你只能通过VBA取消隐藏它. (4认同)
  • 这应该被接受为有效答案。 (2认同)

Dir*_*mar 20

您可以使用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
Run Code Online (Sandbox Code Playgroud)


Cha*_*ood 18

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

sheet.Visible = False
Run Code Online (Sandbox Code Playgroud)

隐藏和

sheet.Visible = True
Run Code Online (Sandbox Code Playgroud)

取消隐藏

资源


And*_*lli 6

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

ActiveSheet.Visible = xlSheetHidden
Run Code Online (Sandbox Code Playgroud)

但是,您可能不希望这样做,尤其是在您使用任何"选择"操作或使用任何其他ActiveSheet操作时.