Excel MessageBox依赖于值是另一个值的倍数

Excel MessageBox依赖于值是另一个值的倍数,excel,vba,Excel,Vba,我想要一个弹出消息,在输入范围(G24:G73)中的数字时说“请检查”,该数字不是F列(F24:F73)中相应单元格中数字的倍数 换句话说,如果单元格(“F24”)是5,而单元格(“G24”)不是5、10、15、20、25 如何使用MOD函数对此进行编码 Private子工作表\u更改(ByVal目标作为范围) 如果范围(“G24”)。值? MsgBox“请检查计量单位数量” 如果结束 端接头 您所追求的被称为mod操作符 Private Sub Worksheet_Change(ByVal T

我想要一个弹出消息,在输入范围(G24:G73)中的数字时说“请检查”,该数字不是F列(F24:F73)中相应单元格中数字的倍数

换句话说,如果单元格(“F24”)是5,而单元格(“G24”)不是5、10、15、20、25

如何使用MOD函数对此进行编码

Private子工作表\u更改(ByVal目标作为范围)
如果范围(“G24”)。值?
MsgBox“请检查计量单位数量”
如果结束
端接头

您所追求的被称为
mod
操作符

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G24:G73")) Is Nothing Then
    If Target Mod Target.Offset(0, -1) <> 0 Then
          MsgBox "Please Check UOM quantity"
    End If
End If

End Sub
Private子工作表\u更改(ByVal目标作为范围)
如果不相交(目标,范围(“G24:G73”))则为零
如果目标Mod Target.Offset(0,-1)为0,则
MsgBox“请检查计量单位数量”
如果结束
如果结束
端接头

如果target.value mod target.offset(0,-1).value 0
?谢谢,它工作得很好,但是当我在范围上选择多个单元格(“G24:G73”)删除数据时,我会得到运行时错误'13'类型的Mispatch,有没有办法解决这个问题?有很多方法可以处理。对目标进行计数并将其分支。或者对target中的每个cel执行一个循环
,以单独处理每一行。谢谢,我刚刚添加了一个
on Error GoTo
,以转到
End Sub
@这绝对是最糟糕的方法。它确保现在可以绕过您的限制。例如,选择G24:G30,输入错误的内容,然后按Ctrl+Enter。@GSerg我没有意识到。。。我应该如何编写代码以避免这种情况??