Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Unprotecting Groups of Worksheets.
Written by Allen Wyatt (last updated August 8, 2020)
This tip applies to Excel 97, 2000, 2002, and 2003
Excel allows you to protect and unprotect worksheets. The purpose, of course, is to allow others to use your workbook, but not to modify certain cells within each worksheet.
Since protection is done at a worksheet level, it can be major pain to step through each worksheet in a workbook and either protect or unprotect them. If you have 25 worksheets, you must activate each worksheet, do the protect or unprotect, and move on to the next one.
A less time-consuming method of protecting each worksheet in a workbook is to use a macro to do the actual work. The following macro will do the trick:
Sub ProtectAllSheets()
Dim ws As Worksheet
Dim sOrigSheet As String
Dim sOrigCell As String
Dim J As Integer
Application.ScreenUpdating = False
sOrigSheet = ActiveSheet.Name
sOrigCell = ActiveCell.Address
For Each ws In Worksheets
ws.Select
ws.Protect Password:="Password"
Next ws
Application.GoTo Reference:=Worksheets("" _
& sOrigSheet & "").Range("" & sOrigCell & "")
Application.ScreenUpdating = True
End Sub
The macro to unprotect all the worksheets is only slightly different:
Sub UnProtectAllSheets()
Dim ws As Worksheet
Dim sOrigSheet As String
Dim sOrigCell As String
Dim J As Integer
Application.ScreenUpdating = False
sOrigSheet = ActiveSheet.Name
sOrigCell = ActiveCell.Address
For Each ws In Worksheets
ws.Select
ws.Unprotect Password:="Password"
Next ws
Application.GoTo Reference:=Worksheets("" _
& sOrigSheet & "").Range("" & sOrigCell & "")
Application.ScreenUpdating = True
End Sub
While these macros will work just fine, there are a couple of caveats. First, you need to make sure that the Password variable in each macro is set to the proper password for your worksheets. (This assumes, of course, that all the worksheets use the same passwords.) The second caveat is that since the macro has to include the password, the overall security of your workbook may be compromised—anyone that can display the macros will know what the passwords are for your workbooks.
As a solution to this last problem, you could modify the macros so that they ask for a password to use in their work. The following would be the version of the macro that protects worksheets:
Sub ProtectAllSheetsPass()
Dim ws As Worksheet
Dim sOrigSheet As String
Dim sOrigCell As String
Dim J As Integer
Dim sPWord As String
Application.ScreenUpdating = False
sOrigSheet = ActiveSheet.Name
sOrigCell = ActiveCell.Address
sPWord = InputBox("What password?", "Protect All")
If sPWord > "" Then
For Each ws In Worksheets
ws.Select
ws.Protect Password:=sPWord
Next ws
End If
Application.GoTo Reference:=Worksheets("" _
& sOrigSheet & "").Range("" & sOrigCell & "")
Application.ScreenUpdating = True
End Sub
The macro displays an input box asking for the password. The same password is then used to protect every worksheet in the workbook. The same sort of change can be done to the macro that unprotects all the worksheets.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2275) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Unprotecting Groups of Worksheets.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!
You can assign your macros to a series of custom toolbar buttons, but you may only want those buttons to be visible when ...
Discover MoreWhen you use a macro to do file operations, it works (by default) within the current directory. If you want to know which ...
Discover MoreWant to add a bunch of blank rows to a your data and have those rows interspersed among your existing rows? Here's a ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments