How to Lock and Unlock Cells Based on Another Cell in Excel

Suppose we have a list of student names, and we want to lock this list if they fail the exam, and unlock them if they pass the exam, Fail or Pass will be saved in one cell for example A1, so if A1 is Fail, all cells with names will be locked, otherwise if A1 is Pass, these cells will be unlocked. To implement this function, we can via VBA code to lock and unlock cells based on another cell’s value.

Precondition:

See screenshots below:

Lock and Unlock Cells Based on Another Cell 1               Lock and Unlock Cells Based on Another Cell 2

Refer to different value in A1, we want to lock or unlock cell B2:B6.

Method: Lock and Unlock Cells Based on Another Cell Value Via VBA Code


Step 1: On current visible worksheet, right click on sheet name tab to load Sheet management menu. Select View Code, Microsoft Visual Basic for Applications window pops up.

Or you can enter Microsoft Visual Basic for Applications window via Developer->Visual Basic. You can also press Alt + F11 keys simultaneously to open it.

Step 2: Enter below code in window:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Range("A1") = "Pass" Then

        Range("B2:B6").Locked = False

    ElseIf Range("A1") = "Fail" Then

        Range("B2:B6").Locked = True

    End If

End Sub

Step 3: Save the codes. And then quit Microsoft Visual Basic for Applications.

Step 4: Enter ‘Fail’ in A1, then select B2:B6, right click to load menu, select Format Cell. In Format Cells, click Protection tab. Verify that these cells are locked.

Lock and Unlock Cells Based on Another Cell 3

Step 5: In ribbon, click Review tab, under Protect group click Protect Sheet.

Lock and Unlock Cells Based on Another Cell 4

Step 6: In Protect Sheet, enter password, click OK. Then confirm password.

Lock and Unlock Cells Based on Another Cell 5

Lock and Unlock Cells Based on Another Cell 6

Step 7: Now after above steps, worksheet is protected. Try to edit cell B2:B6.

Lock and Unlock Cells Based on Another Cell 7

Verify that warning message pops up.

Step 8: Go back to step#4, then enter ‘Pass’ in A1 this time, and protect worksheet again, verify that B2:B6 can be updated. (Please notice that ‘Run error’ may pops up sometimes, you can click ‘End’ to ignore the message.)

Lock and Unlock Cells Based on Another Cell 8

Comment:

If value in A1 is not a text but a number for example 60, and if enter value <60, all cells are locked, you can enter below code:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Range("A1").Value < 60 Then

        ActiveSheet.Range("B2:B6").Locked = True

    ElseIf Range("A1").Value >= 60 Then

        ActiveSheet.Range("B2:B6").Locked = False

    End If

End Sub

Check the result, see screenshots below:

Enter 59 in A1:

Lock and Unlock Cells Based on Another Cell 9

Enter 60 in A1:

Lock and Unlock Cells Based on Another Cell 10

 

Related Posts

Find and Replace Multiple Values

This post will guide you how to find and replace multiple values at once with VBA macro or using formula  in Excel. How do I make multiple find and replace in Excel. Suppose that you have a few cells containing ...

VBA Macro For VLOOKUP From Another Sheet

In the previous post, you should know that how to fix or remove the #N/A error when using VLOOKUP formula to lookup value from another sheet. And this post will show you how to use VBA code to vlookup data ...

How To Insert Comments in Protected Worksheet in Excel

This post will show you how to allow comments in a protected worksheet in Excel. You can easily to insert comments into cells in a normal worksheet in Excel, but if want to insert a comment in a worksheet that ...

How To Convert Text to Upper Cases(Using VBA) in Excel

This post will show you how to switch from lower case to upper case in Excel. and I am going to show you two different ways of converting text to upper cases using formula or VBA macro in Excel 2013,Excel ...

How To Hide Every Other Row in Excel (Using VBA)

This post will show you how to hide alternate rows or columns in Excel or how to hide every third, fourth, fifth row or column in Excel. If you want to hide every other row in your current worksheet, how ...

Sidebar