如何在 vba 中比较日期(附示例)


您可以在 VBA 中使用以下基本语法来比较两个日期:

 SubCompareDates ()
    Dim i As Integer

    For i = 2 To 5
        If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
            Result = " First Date is Earlier "
    Else
        If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
                Result = “ First Date is LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

此特定示例将比较范围A2:A5B2:B5中相应单元格中的日期,并返回范围C2:C5中日期比较的结果。

注意CDate函数将给定单元格的值转换为日期。

以下示例展示了如何在实践中使用此语法。

示例:比较 VBA 中的日期

假设 Excel 中有以下两列包含日期:

假设我们要比较每个匹配行中的日期并将日期比较结果显示在 C 列中。

我们可以创建以下宏来执行此操作:

 SubCompareDates ()
    Dim i As Integer

    For i = 2 To 5
        If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
            Result = " First Date is Earlier "
    Else
        If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
                Result = “ First Date is LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

当我们运行这个宏时,我们会收到以下输出:

日期比较的结果现在显示在 C 列中。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何按多列对工作表进行排序
VBA:如何计算范围内的行数
VBA:如何过滤列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注