当两个单元格的值相等时,在受保护的Excel工作表中运行弹出消息

时间:2017-01-13 19:07:43

标签: excel-vba validation vba excel

当两个单元格的值相同时,我想在受保护的Excel 2010工作表中使用弹出消息和声音效果进行确认。我在数据验证中尝试了这个公式:

IF(D4=D5,beepnow(),"")

但它没有运行。相反,任何人都可以协助配方或VBA代码替换吗?谢谢!

2 个答案:

答案 0 :(得分:1)

这是一个程序,只要你改成工作表就会运行......这可能会让人讨厌......你应该明白这个想法并能够修改它以满足你的需求。

Private Sub Worksheet_Activate()
If Range("D4").Value = Range("D5").Value Then
    Beep
    MsgBox "Equal", vbInformation, "Check"
End If

End Sub

您应该能够将其复制并粘贴到工作表类中。

答案 1 :(得分:1)

如果您进入VB COde窗口,选择相关表格,您可以拥有以下

Private Sub Worksheet_Change(ByVal Target As Range)

If (Range("D4:D4").Cells(1, 1)) = Range("D5:D5").Cells(1, 1))  Then
MsgBox ("Hi")

End If
End Sub

当您选择此工作表时,工作表激活将运行代码。

当您在此工作表中进行更改时,Worksheet_change将运行代码。

如果您只想在修改D4 / D5时进行检查

If Target.Address = "$D$4" Or Target.Address = "$D$5" Then
If (Range("D4:D4").Cells(1, 1)) = Range("D5:D5").Cells(1, 1))  Then
MsgBox ("Hi")
End If
End If