VBA 自动化程序、事件与错误处理技巧
1. 防止数据验证规则被破坏
在处理数据验证规则时,我们可能会遇到用户复制数据从而抹除验证规则的情况。为了避免这种情况发生,可使用以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim VT As Long
'Do all cells in the validation range
'still have validation?
On Error Resume Next
VT = Range("InputRange").Validation.Type
If Err.Number <> 0 Then
Application.Undo
MsgBox "Your last operation was canceled." & _
"It would have deleted data validation rules.", _
vbCritical
End If
End Sub
此代码的工作原理是,每当单元格发生更改时,就会执行该过程。它会检查包含数据验证规则的范围(名为 InputRange )的验证类型。若 VT 变量出现错误,意味着 InputRange 中的一个或多个单元格不再具有数据验证(可能是用户复制了数据覆盖了原内容)。此时,代码会执行 Applicat
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



