如果单元格值不等于零,则消息框

时间:2017-09-13 03:28:00

标签: excel vba excel-vba

嗨,我是excel vba的新手。我编写了这段代码,当一个单元格的值不等于零时自动弹出一个消息框。该单元格取决于单元格A的值减去单元格B的值。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("H60") <> 0 Then
MsgBox "Not Equal zero!!!!"
End If
End Sub

但是,当单元格H60为零时,消息框仍会继续弹出。为什么呢?

1 个答案:

答案 0 :(得分:0)

使用.Value2

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("H60").Value2 <> 0 Then
    MsgBox "Not Equal zero!!!!"
End If
End Sub

但是我会建议你在那里进行某种测试,以便只针对某些细胞更改,你不希望每次在工作表上发生任何变化时都会触发它。

你提到细胞依赖于其他2个细胞,你可以对那些像这样的细胞进行测试:

Private Sub Worksheet_Change(ByVal Target As Range)
If target.address = "$I$60" or target.address = "$J$60" then
    If Range("H60").Value2 <> 0 Then
        MsgBox "Not Equal zero!!!!"
    End If
end if
End Sub

如果I60或J60是工作表上的更改,这将使它只会触发,如果需要,你可以明显地将这些更改为其他单元格引用,我假设你的公式是使用I60和J60