How to lock or protect cells after data entry or input in Excel?
Supposing you have a worksheet and just a certain range of blank cells needs data entry, and after finishing inputting data, you need the cells to be locked automatically in order to prevent changes again. How can you do to achieve it? This article can help you.
Lock or protect cells after data entry or input with VBA code
Lock or protect cells after data entry or input with VBA code
For example, the certain range of blank cells is A1:F8. Please do as follows to lock these cells after data entry in Excel.
1. Please unlock this range first, select the cells and right-clicking, then choose Format Cells in the right-clicking menu, and in the Format Cells dialog box, unchecking the Locked box under the protection tab, and finally clicking the OK button. See screenshot:
2. Click Review > Protect Sheet. And specify a password to protect this worksheet.
3. Right click the sheet tab, select View Code from the right-clicking menu. Then copy and paste the below VBA code into the Code window. See screenshot:
VBA code: Lock or protect cells after data entry or input
Dim mRg As Range
Dim mStr As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Set xRg = Intersect(Range("A1:F8"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="123"
If xRg.Value <> mStr Then xRg.Locked = True
Target.Worksheet.Protect Password:="123"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Note: In the code, “A1:F8” is the range you need to input data; and “123” is the password of this protected worksheet. Please change them as you need.
4. Press Alt + Q keys simultaneously to close the Microsoft Visual Basic for Applications window.
After finishing entering data to the cells of range A1:F8, they will be locked automatically. And you will get a prompt dialog box if you try to change any cell content of this range. See screenshot:
Related articles:
- How to lock all cell references in formulas at once in Excel?
- How to lock or unlock cells based on values in another cell in Excel?
- How to lock picture/image to or inside cell in Excel?
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!