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 LaterElse
                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 LaterElse
                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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *