0

我正在制作成本表。我输入的每个成本行项目都有一个需要更新成本的有效日期。我正在尝试弹出一个消息框,以在费用超过其有效期时通知我。在我的电子表格中,有效日期在 D 列的“报价单”上,而实际日期在单元格 B2 的“数据输入”表上。I also have check boxes to select which cost items you want included which when selected populate column Q with a True or False. 我要做的是做一个在选择项目时运行的宏。所以措辞类似于,“如果列 Q = True 并且如果列 D 小于“数据输入”上的单元格 B2,则 MsgBox“价格已过时!”” 我也有小计,其中日期为空白,所以我需要说明如果 D 列为空白,则忽略。谢谢你的帮助!我在网上找到了以下内容并尝试过,但没有成功。

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
4

1 回答 1

2

您需要在第一个 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
于 2013-02-26T15:54:20.067 回答