I am writing a script in Excel VBA where the Workbook
is supposed to open with a UserForm
. I want only the UserForm
to be visible and the excel window itself to be invisible. As such, I have written the following code for the opening of the Workbook
:
Private Sub Workbook_Open()
'Application launch
Application.Visible = False 'Hide Excel window
EnableResize = False
Application.DisplayFullScreen = True 'Preset fullscreeen mode
Application.CommandBars("Full Screen").Enabled = False 'Hide command bars
WelcomeForm.Show 'Show welcome UserForm
End Sub
I realize that I have set the whole Excel application to be invisible. In this sense, what happens now is that when I have other Excel workbooks open, they turn invisible as soon as I open this one. How could I make it so that this setting only applies to this specific workbook? Thank you
There is a choice to be made here:
Sub HideSheet()
Dim sheet As Worksheet
Set sheet = ActiveSheet
' Hides the sheet but users will be able to unhide it using the Excel UI
sheet.Visible = xlSheetHidden
' Hides the sheet so that it can only be made visible using VBA
sheet.Visible = xlSheetVeryHidden
End Sub
More detail in this SO question