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 Later ”
Else
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 Later ”
Else
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ę