如果单元格是日期和<今天,返回偏移单元格MsgBox?

时间:2018-02-07 16:28:58

标签: excel vba excel-vba

我正在尝试创建一个宏来搜索我的工作表并在单元格的日期过去时创建一个消息框,并将消息框的文本作为单元格相邻。我想要忘记第一个IsDate部分,但是该范围还包含带有文本的单元格,这会使事情变得混乱。

我对VBA很新,这就是我想出来的(这是行不通的)。

Sub Pop_Up()
    Dim cell As Range
    For Each cell In Range("c1:U439")
        If IsDate(Range("c1")) And cell.Value < Now() Then
            MsgBox "Holdback Expired:" & vbCrLf & cell.Value & " " & cell.Value.Offset(0, -1)
        End If
    Next
End Sub

任何帮助将不胜感激,提前谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个。根据评论

  • 您应该IsDate(cell.Value)..
  • IsDate()需要在单独的If语句中,以便您不要比较Cell.Value&lt;现在()如果它不是日期
  • Cell.Value.Offset(0,-1)应为Cell.Offset(0,-1).Value
Sub Pop_Up()
    Dim cell As Range
    For Each cell In Range("c1:U439")
        If IsDate(cell.Value) Then
            If cell.Value < Now() Then
                MsgBox "Holdback Expired:" & vbCrLf & cell.Value & " " & cell.Offset(0, -1).Value
            End If
        End If
    Next cell
End Sub