Forum Discussion
KirkExcel
Sep 10, 2024Copper Contributor
Excel not password protecting VBA page properly...
Whenever I try to hide sheets and then password protect them in the VBA page it never works. Whenever I go back into the VBA page it just gives me immediate and full access without prompting me for a...
Hermes_Santos14
Sep 10, 2024Copper Contributor
Hi KirkExcel
The protection of VBA in Excel 365 is slightly different from the conventional protection of worksheets. To properly protect the VBA code with a password, you need to follow some specific steps. Here they are:
Open the VBA Editor:
- Press Alt + F11 to open the VBA Editor.
Access the Project Properties:
- In the VBA Editor, right-click on your project (the folder with the name of your spreadsheet) in the "Project Explorer" window.
- Select VBAProject Properties... from the drop-down menu.
Set the Password:
- In the Protection tab, check the Lock project for viewing box.
- Enter and confirm the password in the appropriate fields.
Save and Close:
- Click OK and close the VBA Editor.
- Save your spreadsheet.
Close and Reopen Excel:
- For the protection to take effect, you will need to completely close Excel and reopen the file.
- Now, when trying to access the VBA code, the password will be requested.
Important:
- The password only protects access to the VBA code but does not prevent the execution of macros.
- If the VBA project is not being properly locked, it could be a bug or issue with your version of Excel. Ensure that Excel 365 is up to date.
This process should protect the VBA code from unauthorized access.
kirkbiddlecombe
Sep 11, 2024Copper Contributor
Thanks for your reply, however I have tried the steps you outlined already and it does not work.
Any other ideas?
Many thanks for your time.
- Hermes_Santos14Sep 11, 2024Copper ContributorI'm sorry you haven't found a solution for your case yet.
Are you actually trying to hide the worksheet with VBA or hide the VBA codes in your workbook?- kirkbiddlecombeSep 11, 2024Copper Contributor
I basically want the sheets hidden (which I know how to do - via Excel, right click sheet and hide) but then I only want it to be possible to retrieve them after entering a password in the VBA editor. Currently, when I hide the sheets and then set the password I can still just go into the VBA editor and unhide them as it is not prompting me for a password.
- Hermes_Santos14Sep 11, 2024Copper Contributor
You can use VBA to set the sheets as "Very Hidden," which means they can't be unhidden through Excel's normal interface (not even via the "Unhide" option). Here's how:
- Open the VBA Editor (press Alt + F11).
- On the left side, in the project explorer, select the sheet you want to hide.
- In the "Properties" pane (press F4 if it's not visible), find the Visible property.
- Change the Visible property from -1 - xlSheetVisible to 2 - xlSheetVeryHidden.
Next, you should protect the VBA project with a password to prevent anyone from modifying the sheet settings without access to the code:
- In the VBA Editor, click Tools > VBAProject Properties.
- In the window that appears, go to the Protection tab.
- Check the box Lock project for viewing.
- Enter and confirm a password.
- Click OK and close the VBA Editor.
- Save and close the Excel file. (XLSM)
Now, when someone tries to open the VBA Editor (by pressing Alt + F11), they will be prompted to enter the password before they can view the code or change the visibility of the sheets.