Como comparar datas em vba (com exemplos)
Você pode usar a seguinte sintaxe básica em VBA para comparar duas datas:
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
Este exemplo específico comparará as datas nas células correspondentes nos intervalos A2:A5 e B2:B5 e retornará o resultado das comparações de datas no intervalo C2:C5 .
Nota : A função CDate converte o valor de uma determinada célula em uma data.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: compare datas em VBA
Suponha que temos as duas colunas a seguir com datas no Excel:
Suponha que queiramos comparar as datas em cada linha correspondente e exibir os resultados da comparação de datas na coluna C.
Podemos criar a seguinte macro para fazer isso:
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 executamos esta macro, recebemos a seguinte saída:
Os resultados das comparações de datas agora são exibidos na coluna C.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como classificar uma planilha por múltiplas colunas
VBA: Como contar o número de linhas no intervalo
VBA: como filtrar uma coluna