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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *