允许用户编辑范围动态 Excel VBA

允许用户编辑范围动态 Excel VBA

我是 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)

相关内容