【发布时间】:2012-12-05 17:14:53
【问题描述】:
我有一个电子表格,上面有一列(比如 A 列)。这个想法是这个列由具有各种分数的用户填充。一旦用户对 A 列中的答案感到满意,我希望他们确认答案是正确的(最好通过单击按钮)。单击该按钮后,我想使用 VBA 来保护 A 列不被再次编辑。我宁愿不使用保护工作表选项,因为电子表格中有其他数据,我需要将一些单元格锁定但可编辑(它们使用数据验证列表)。
我确实找到了这一点 VBA,但这是基于工作表更改的 - 如果我可以以某种方式使用它但只有在用户确认数据设置后才激活它,那将是理想的:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Range("A2:A14")) Is Nothing Then Exit Sub
Application.EnableEvents = False
MsgBox "Hey, leave me alone!", 48, "Sorry, I'm protected."
Application.Undo
Application.EnableEvents = True
End Sub
【问题讨论】:
标签: vba excel-2003