仅当我的范围中的一个单元格的修改不同于 0 或空单元格(事件)时才执行的宏


我在一个名为"auto assegnate">

的特定工作表中有一个名为"auto assegnate"的宏

我想做的是执行一个名为macroArvalItaly的特定宏。当用户在工作表"自动评估"中将单元格从范围 E5 修改为 E13 时,它运行良好。但是,我希望仅当用户使用此范围中的单元格修改与值不同的值 0 或将单元格留空(空白(时,才会执行我的宏宏 ArvalItaly。

我的意思是,如果修改我的一个单元格(E5 到 E13(等于 0 或空单元格:不要执行宏

如果此范围的一个单元格(E5 到 E13(的修改与 0 或空单元格不同:执行我的宏

最重要的是(它是可选的,但它会很棒(,如果修改我的一个这个范围的单元格(E5 到 E13(不同于数字或空单元格(数字可以是十进制的,例如 0,333(:不要执行宏并向用户发送错误消息("从单元格 E5 到 E13 的条目应该只是数字"(

提前非常感谢。 哈维

在这里,请在下面找到我的代码:

Sub Worksheet_Change(ByVal Target As Range)
With Worksheets("Auto assegnate")
If Not Intersect(Target, Range("E5:E13")) Is Nothing Then
Call ThisWorkbook.macroArvalItaly1
End If
End With
End Sub

你只需要添加一个检查值的 if 语句:

Sub Worksheet_Change(ByVal Target As Range)
With Worksheets("Auto assegnate")
If Not Intersect(Target, Range("E5:E13")) Is Nothing AND target.Value <> "" AND target.Value <> 0 Then
Call ThisWorkbook.macroArvalItaly1
End If
End With
End Sub

对于您的第二部分,如果您想检查它是否等于另一个单元格,只需使用

if ISNUMERIC(target.value) Then
Call ThisWorkbook.macroArvalItaly1
Else
msgbox "You cannot use this value"
End if

最新更新