Come confrontare le date in vba (con esempi)
È possibile utilizzare la seguente sintassi di base in VBA per confrontare due date:
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
Questo particolare esempio confronterà le date nelle celle corrispondenti negli intervalli A2:A5 e B2:B5 e restituirà il risultato dei confronti delle date nell’intervallo C2:C5 .
Nota : la funzione CDate converte il valore di una determinata cella in una data.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: confrontare le date in VBA
Supponiamo di avere le seguenti due colonne con date in Excel:
Supponiamo di voler confrontare le date in ciascuna riga corrispondente e visualizzare i risultati del confronto delle date nella colonna C.
Per fare ciò possiamo creare la seguente macro:
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
Quando eseguiamo questa macro, riceviamo il seguente output:
I risultati dei confronti delle date vengono ora visualizzati nella colonna C.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come ordinare un foglio per più colonne
VBA: come contare il numero di righe nell’intervallo
VBA: come filtrare una colonna