Jak porównać daty w vba (z przykładami)


Aby porównać dwie daty, możesz użyć następującej podstawowej składni w 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

Ten konkretny przykład porówna daty w odpowiednich komórkach w zakresach A2:A5 i B2:B5 i zwróci wynik porównań dat w zakresie C2:C5 .

Uwaga : Funkcja CDate konwertuje wartość danej komórki na datę.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Porównaj daty w VBA

Załóżmy, że w Excelu mamy dwie kolumny z datami:

Załóżmy, że chcemy porównać daty w każdym pasującym wierszu i wyświetlić wyniki porównania dat w kolumnie C.

W tym celu możemy utworzyć następujące makro:

 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

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Wyniki porównań dat są teraz wyświetlane w kolumnie C.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak sortować arkusz według wielu kolumn
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: jak filtrować kolumnę

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *