Hiding an Excel worksheet with VBA

后端 未结 5 992
再見小時候
再見小時候 2020-12-05 17:33

I have an Excel spreadsheet with three sheets. One of the sheets contains formulas for one of the other sheets.

Is there a programmatic way to hide the sheet which c

相关标签:
5条回答
  • 2020-12-05 17:47

    This can be done in a single line, as long as the worksheet is active:

    ActiveSheet.Visible = xlSheetHidden
    

    However, you may not want to do this, especially if you use any "select" operations or you use any more ActiveSheet operations.

    0 讨论(0)
  • 2020-12-05 17:58

    I would like to answer your question, as there are various methods - here I’ll talk about the code that is widely used.

    So, for hiding the sheet:

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

    There are other methods also if you want to learn all Methods Click here

    0 讨论(0)
  • 2020-12-05 18:09

    To hide from the UI, use Format > Sheet > Hide

    To hide programatically, use the Visible property of the Worksheet object. If you do it programatically, you can set the sheet as "very hidden", which means it cannot be unhidden through the UI.

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

    You can also set the Visible property through the properties pane for the worksheet in the VBA IDE (ALT+F11).

    0 讨论(0)
  • 2020-12-05 18:09

    You can do this programmatically using a VBA macro. You can make the sheet hidden or very hidden:

    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
    
    0 讨论(0)
  • 2020-12-05 18:12

    Just wanted to add a little more detail to the answers given. You can also use

    sheet.Visible = False
    

    to hide and

    sheet.Visible = True
    

    to unhide.

    Source

    0 讨论(0)
提交回复
热议问题