VBA - 如何处理数据验证错误?

时间:2017-11-30 17:46:58

标签: excel vba excel-vba

我有受保护的工作簿。它工作得很好。直到我们反击以下错误。

数据验证用于其中一个单元格,其中不允许用户在1970年1月1日之前输入日期,并且当我们这样做时它会抛出错误。

但关注的是当我们点击"重试或取消"。我得到运行时错误导致问题。一旦我们遇到错误,它会影响启用了VBA的其他字段(在我们关闭并打开一个新的电子表格之前,其他字段上的VBA将无效)。我们如何处理这样的错误? 请建议

Data Validation

Message Prompt

Runtime error

Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        Dim myValue
        With Application
            myValue = Target.Formula
            .Undo
            Target.Formula = myValue
        End With
        Application.CutCopyMode = False

        If Not Intersect(Target, Range("E43")) Is Nothing Then
            With Range("E44")
                If Target.Value = "Specific Number of Days" Then
                    .Locked = False
                    .Activate
                Else
                    'This handles **ANY** other value in the dropdown
                    .Locked = True
                    '.Clear
                End If
            End With
            ElseIf Not Intersect(Target, Range("E30")) Is Nothing Then
                If Target.Value = "YES" Then Call Notify Else Call NotifyUser
            ElseIf Not Intersect(Target, Range("E31")) Is Nothing Then
                If Target.Value = "YES" Then Call Delta Else Call DeltaUser
        End If
       Application.EnableEvents = True
    End Sub

0 个答案:

没有答案