Excel VBA代码,用于将系统日期与工作表中的日期进行比较

时间:2015-07-21 08:00:45

标签: excel vba excel-vba date

我想要一个vba代码来比较系统日期和我在excel工作表中连续(A)中提到的日期。如果日期相等,则应比较系统时间和行中提到的时间(B)。例如:如果表格中提到的时间是7:30 PM且系统时间是晚上7点,则应计算时间和显示之间的时间。如果表格中的日期不匹配则应该离开。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我整理了一个小程序让你入门。它假定工作表中的日期/时间在单元格A1中。如果系统日期与单元格A1中的日期相同,则它将系统时间与单元格A1中的时间进行比较。如果它们在一分钟内是相同的,那么没有任何反应。

但是,如果它们不同,那么它们不同的分钟数将出现在单元格B1中。

以下是代码:

Public Sub DateTimeCheck()

    Dim d  As Double
    Dim s1 As String
    Dim s2 As String

    s1 = Format([a1], "dd-mm-yyyy hh:mm")
    s2 = Format(Now, "dd-mm-yyyy hh:mm")

    If Left$(s2, 10) = Left$(s1, 10) Then
        d = TimeValue(Right$(s2, 5)) - TimeValue(Right$(s1, 5))
        If d Then
            [b1] = d * 1440
        End If
    End If

End Sub

现在,如果你有更多的单元格在列A中有日期,并且你想要比较它们,那么你需要修改这段代码,以便它“处理”所有这些代码。

至于在电子邮件中写下分钟的差异......我们需要更多详细信息!