当电子表格出现错误时,如何停止触发基于事件的VBA代码?

我有一个代码来自动发送一个电子邮件,当一个单元格达到一定的价值。 (下面)

如果发生错误并且单元格被删除,它也会发送电子邮件。 我需要添加到代码停止发送,如果我从单元格中删除值?

提前致谢。

Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Application.Intersect(Range("M4:M368"), Target) Is Nothing Then If IsNumeric(Target.Value) And Target.Value < 1000 Then Call Fuel_LevelW01D End If End If End Sub 

  • 您不需要testingIsNumeric
  • 最好运行两个单独的IF's而不是AND因为除非单元格有一个值,否则没有必要testing<1000

更新的代码

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Application.Intersect(Range("M4:M368"), Target) Is Nothing Then If Len(Target.Value) > 0 Then If Target.Value < 1000 Then Call Fuel_LevelW01D End If End If End Sub