如何在 Excel 中输入数据后自动锁定或保护单元格?
作者:互联网
2026-04-13
假设您有一个工作表,其中只有特定范围的空白单元格需要输入数据,并且在完成数据输入后,您希望这些单元格自动锁定,防止被再次修改。本文将为您提供解决方案。
使用 VBA 代码在输入数据后锁定或保护单元格
使用 VBA 代码在输入数据后锁定或保护单元格
例如,若需输入数据的特定空白单元格范围为 A1:F8,请按以下步骤操作,即可在 Excel 中输入数据后自动锁定这些单元格。
1. 请先解锁该区域:选中这些单元格,右键单击,在右键菜单中选择设置单元格格式,在弹出的设置单元格格式对话框中,切换至保护选项卡,取消勾选锁定复选框,然后单击确定按钮。参见截图:

2. 单击审阅> 保护工作表,即可为此工作表设置密码。
3. 右键单击工作表标签,在右键菜单中选择查看代码,然后将下方的 VBA 代码复制并粘贴到代码窗口中。参见截图:
VBA 代码:在输入数据后锁定或保护单元格
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 
注意:代码中的 “A1:F8” 为您需输入数据的单元格范围;“123” 为受保护工作表的密码,请根据实际需求修改。
4. 同时按下 Alt+Q 键,即可关闭 Microsoft Visual Basic for Applications 窗口。
在向 A1:F8 范围内的单元格完成数据输入后,这些单元格将自动锁定。若您尝试修改该范围内的任意单元格内容,系统会立即弹出提示对话框。参见截图:

相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
如何在 Excel 中插入和删除图片或背景图像
如何在 Excel 中添加或删除误差线?
如何在 Excel 中将文本替换为对应的图片?
如何在 Excel 中快速将小写货币金额转换为大写文字?
在 Excel 中批量自动调整图片以适应单元格——2 种实用方法
在 Excel 中锁定和保护单元格——(简易分步教程)
如何在 Excel 中选择整列(不含标题行或首行)?
如何让 Excel 窗口始终保持在最前面?
如何在 Excel 中对早于或晚于今天的日期应用条件格式?
如何在 Excel 中为相邻单元格非空的行自动添加编号?
AI精选
