Private Sub Worksheet_Change(ByVal Target As Range)
Set rng = Union(Sheet1.[K1:N6], Sheet1.Range("A:A"), Sheet1.Range("C1", "T8")) '自定义要保护的单元格区域
If Not Application.Intersect(Target, rng) Is Nothing Then
Application.EnableEvents = False
If Not (Target.HasFormula) Then
MsgBox "只能使用公式编辑,请输入公式"
Application.Undo
End If
Application.EnableEvents = True
End If
End Sub
用数据有效性试一下
“允许用户编辑区域”和“保护工作表”结合进行:
审阅--更改--允许用户编辑区域,设置可编辑区域(非公式区域),然后按“允许用户编辑区域”对话框左下角的“保护工作表”。