我是 VBA 新手。
我想添加动态范围以允许用户编辑。
例如,我希望“A 列”中所有没有值的单元格被允许作为范围,而有值的单元格则不允许编辑。这样,我将允许用户仅使用密码在空单元格中添加数据。谢谢
答案1
您可以尝试此 VBA 代码,它将有助于仅在空单元格中输入数据。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lockable As Range
Dim Nlock As Range
Set Lockable = Range("A1:A5000")
If Intersect(Lockable, Target) Is Nothing Then Exit Sub
ActiveSheet.Unprotect Password:=Sheets("Your Worksheet Name").Range("E1").Value
For Each Nlock In Target
If Nlock.Value <> "" Then
check = MsgBox("If this entry correct,, cannot be changed.", vbYesNo, "Cell Locked")
If check = vbYes Then
Nlock.Locked = True
Else
ActiveCell.Select
End If
End If
Next Nlock
ActiveSheet.Protect Password:=Sheets("Your
Worksheet Name").Range("E1").Value
End Sub
注意:
- 范围
A1:A5000
可编辑。 - 在单元格中输入密码
E1
(也可编辑)。 - 将工作簿另存为宏已启用 (.xlsm)