popup消息框,如果满足某些条件

我正在build立一个成本表。 我input的每个成本行项目都将具有需要更新成本的有效date。 我试图得到一个消息框popup来通知我,当一个成本超过它的有效期。 在我的电子表格中,有效date在D列的“报价单”上,我在B2单元格的“数据input”表中有实际的date。 我也有checkbox来select你想要包括哪些成本项,当select填充列Q与真或假。 我正在做的是做一个macros,当一个项目被选中时,将运行。 因此,措辞将会是这样的:“如果列Q = True,并且如果列D小于”数据input“上的单元格B2,则MsgBox”Price is out of date!“”我也有小计,所以我会需要一些东西,如果列D是空白,然后无视。 谢谢你的帮助! 我在网上find了下面的内容,试了一下,但是没有成功。

Private Sub Worksheet_Change(ByVal Target As Range) 'Only run if change made to D3, and D2 and D3 are not = "" If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub If Range("D:D").Value < Sheets("Data Entry").Range("B2").Value Then MsgBox "Cost is out of date!" End If End Sub 

您需要添加一个条件到您的第一个IF构造来检查空白单元格,并将第二个IF构造中的Range(“D:D”)作为Target:

 Private Sub Worksheet_Change(ByVal Target As Range) 'Only run if change made to D3, and D2 and D3 are not = "" If Intersect(Target, Range("D:D")) Is Nothing or IsEmpty(Target) Then Exit Sub If Target.Value < Sheets("Data Entry").Range("B2").Value Then MsgBox "Cost is out of date!" End If