Protect Method of Workbook Object VBA

When we are dealing with confidential information or data we need to Protect Workbook if you want from the user to edit data, delete data, and move data in Excel VBA. If user wants to see data in workbook user should have password to view data in the workbook. We need to protect workbook at the end of the procedure once changes has done to the workbook using VBA. If you forgot the password, you cannot unprotect the workbook.



50+ Project Management Templates Pack
Excel PowerPoint Word

Advanced Project Plan & Portfolio Template
Excel Template

Business Presentations Templates Pack
PowerPoint Slides

20+ Excel Project Management Pack
Excel Templates

20+ PowerPoint Project Management Pack
PowerPoint Templates

10+ MS Word Project Management Pack
Word Templates

Why we need to Protect a Workbook using VBA?

When workbook has sensitive data to deal with confidential information or data we need to Protect Workbook in Excel VBA. You should protect your complete workbook then only authorized users can view or modify the data.

VBA Protect Workbook – Syntax

Here is the syntax to Protect workbook using VBA.

Workbooks(“Your Workbook Name”).Protect(

[Password], [Structure], [Windows])

Password: Its Optional argument. It specifies a case sensitive password for the workbook. If we want to protect workbook then you have to mention password argument, otherwise you can omit it. When you want to unprotect your protected workbook you must specify your password.
Structure: Its Optional parameter. The default value is False. If we mention it as True that means protect the workbook structure.
Windows: Its Optional parameter. The default value is False. If we mention it as True that means protect the workbook windows.
In the above syntax we are using ‘Protect’ method of workbook object to protect the workbook.

VBA Protect Workbook: Example 1

Please find the below example, It will show you how to protect the workbook.

Sub Protect_Sheet()
Sheets("Sheet1").Protect "YourPassword", True, True
End Sub

In the above example we are protecting the workbook by using ‘Protect’ method of Worksheet object in the worksheet named ‘Sheet1’. When working workbook code has password protected, if you want to do any changes in the code first you have to unprotect the password at the beginning of the procedure and at the end of the procedure you have to protect it again.

VBA Protect Workbook: Example 2

Here is the example to protect ActiveWorkbook with password.

Sub Protect_Sheet()
ActiveWorkbook.Protect Password:="YourPassword", Structure:=True, Windows:=True
End Sub

VBA Protect Workbook – Instructions

Please follow the below step by step instructions to execute the above mentioned VBA macros or codes:

  1. Open an Excel Workbook
  2. Press Alt+F11 to Open VBA Editor
  3. Insert a Module from Insert Menu
  4. Copy the above code for activating a range and Paste in the code window(VBA Editor)
  5. Save the file as macro enabled workbook
  6. Press ‘F5’ to run it or Keep Pressing ‘F8’ to debug the code line by line.

Leave A Comment

Related pages

pivot table meaningwhat are dml statementshow to put a password on a spreadsheetvba print commandrows in a spreadsheetvba access msgboxvba status barvba formulasvlookup in excel formulahow to adjust cells in excelsample vlookupabout macros in excelvba file system objectexcel insert columnexcel sheet delete shortcut keyexcel substitute functionaccess vba dirconcatenate vba excelgraph wizardcopyfromrecordset vbaoffset example exceluser defined functions in vbadatediff excel vbadaily task template excelmerge to cells in excelinsert worksheetvlookup functions in excel 2010excel activeworkbook saveashow do i merge two columns in excelnotepad vbaexcel vba programming for dummies torrentmerge macro excelexcel 2007 autofit row heightvba to export access query to excelvba adodb referencehow to connect excel to sql serverconcatenate formulaunlock password protected excel 2010identifying duplicates in excelexcel startup macrovba performancehow to do data validation in excel 2010vba variable declarationadvanced vlookup excelvlookup rangeremove duplicates formulaunprotect excel spreadsheetcreate checkbox in excel 2010range function vbaoption button excel vbahow to clear macros in excelproject timeline template excel 2007pivots excelinterview questions on testing for freshers with answersfind duplicates in excel columnsautofilter macrotutorial pivotexcel vba tricksinput vbaexcel 2007 developer tab addvba cell interior colorsample vba code for excel 2010combine multiple excel sheets into one sheetin excel how can i find duplicatesexcel vba pivot tableexcel vba file existshlook uprecord macros in excelexcel pivot table templatevba columns countsql interview questions in pdfvba forecolorvba open a text filename manager excel 2013how to unhide a tab in excel