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: Limiting Who Can Delete Data.
by Allen Wyatt
(last updated June 19, 2018)
Jim has a workbook that is used by multiple people in his company. He wonders if there is a way to allow everyone to add data to a group of cells, yet restrict who can delete the data from the cells. He has a group of about 50 that he wants to be able to add data, but he wants to give the delete capability to just 2 individuals.
There are any number of macro-based solutions you can try. Essentially, you need a macro to detect when information has been deleted and then check to see if the person deleting the information has permission to do so. The following is just one possible approach to the issue:
Private Sub Worksheet_Change(ByVal Target As Range) Dim sPassCheck As String Dim rng As Range Dim sTemp As String Dim sPassword As String sPassword = "Password" sTemp = "You must enter the password to delete data" 'Use to set a single cell if more than one cell is 'in the target range If Target.Count > 1 Then Set rng = Target.Cells(1, 1) Else Set rng = Target End If If rng.Value = "" Then sPassCheck = InputBox(sTemp, "Delete check!") Application.EnableEvents = False If sPassCheck <> sPassword Then Application.Undo End If Application.EnableEvents = True End Sub
The macro, which is actually an event handler triggered whenever something in the worksheet is changed, checks to see if the information in a cell (or top-left cell in a range) was deleted. If so, then the user is asked for a password. If the person doesn't have the password, then the Undo method is invoked to "undo" the person's deletion. (You'll want to change the password, assigned to the sPassword variable) to the actual password you want people to use.)
Another option is to use an Excel add-in that can take care of the security issues for you. Some subscribers suggest using A-Tools, which comes in either a free or pro (paid) edition. You can find more information about this add-in here:
A-Tools, among other things, apparently allows you to apply various security features to Excel data that resides on a network. (Chances are good that Jim is sharing his workbook on a network, as it is used by many people in his company.)
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (11597) 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: Limiting Who Can Delete Data.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!
If you have two workbooks that each have the same name, opening them at the same time in Excel could cause some problems. ...Discover More
You already know that you can define names that apply to different ranges of cells and other elements such as formulas. ...Discover More
Tired of your workbooks being left open on the screen where they can be seen by anyone passing by? Here's a way to have ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.