Pode utilizar a seguinte sintaxe básica no VBA para comparar duas datas:
Sub CompareDates() Dim i As Integer For i = 2 To 5 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
Este exemplo específico irá comparar as datas nas células correspondentes nos intervalos A2:A5 e B2:B5 e devolver o resultado das comparações de datas no intervalo C2:C5 .
Nota : O CDate converte o valor de uma determinada célula numa data.
O exemplo seguinte mostra como utilizar esta sintaxe na prática.
Exemplo: Comparar datas no VBA
Suponhamos que temos as duas colunas seguintes com datas no Excel:
Suponhamos que gostaríamos de comparar as datas em cada linha correspondente e apresentar os resultados da comparação de datas na coluna C.
Para o efeito, podemos criar a seguinte macro:
Sub CompareDates() Dim i As Integer For i = 2 To 5 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 executamos esta macro, obtemos a seguinte saída:
Os resultados das comparações de datas são agora apresentados na coluna C.