Comparação de datas no VBA

A comparação de datas no VBA, ou Visual Basic for Applications, é essencialmente a mesma operação que é realizada ao comparar números inteiros. Para facilitar a comparação de datas e simplificar o trabalho com elas em geral, você pode usar nomes de variáveis ​​que indicam o tipo “Data”. Por exemplo, digite “fec1” ou “aniversário1”. Para entender como as datas são comparadas, você pode escrever pequenos programas que realizam essa comparação e pode usar o modo de execução passo a passo no ambiente de programação VBA junto com a janela “Quick View” do ambiente para observar essas comparações em tempo real.

Determinação de tipo

Você não precisa converter datas no tipo de dados “Data” para fazer comparações, se elas já estiverem nesse tipo. Você pode saber se uma variável é “Data” usando alguns métodos. Revise a seção de declarações no início de um procedimento VBA. Esta seção é a parte em que você declara todas as variáveis ​​usando a palavra-chave “Dim”. Suas variáveis ​​de data serão declaradas com instruções como as seguintes: “Dim d1 as Date”. Outra maneira de saber se sua variável é do tipo “Data” é revisar as atribuições feitas a essa variável. Essas atribuições usarão o caractere “#”, que indica um tipo de “Data”. Por exemplo, a instrução a seguir atribui a data “12/1/2001” à variável “D1”, que é “Data”.

D1 = # 1/12/2001 #

Como converter para o tipo de dados “Data”

Para comparar datas no VBA, você deve primeiro ter duas datas armazenadas em “Data”, que é um dos diferentes tipos de valores no VBA. O tipo “Data” é uma instância especial do tipo de dados inteiro, portanto, comparar datas é essencialmente o mesmo que comparar números inteiros. Se suas datas ainda não estiverem em “Data”, será necessário convertê-las. Você pode fazer isso usando a função CDate. Por exemplo, execute a seguinte instrução para converter a cadeia “12/1/2001” em um tipo “Data”:

D1 = CDate (“1/12/2001”)

A comparação

Se você deseja verificar se a data em uma variável “Data” ocorre antes de outra, use o símbolo ‘menos que’, conforme mostrado no exemplo a seguir:

Se (d1 <d2)

Use o símbolo ‘maior que’ para verificar se uma data ocorre após outra e use o símbolo ‘igual’ para ver se os valores de ambas as variáveis ​​se referem à mesma data.

Programa de amostra

Escreva um programa de exemplo que converta e compare datas, para que você possa consultar esse código ao escrever programas VBA mais complexos para executar esse procedimento. Abra o ambiente de programação em um dos aplicativos do Office clicando no botão “Visual Basic” na guia “Desenvolvedor”. Em seguida, cole o seguinte programa na janela central do ambiente. Isso usa a função “CDate” para converter seqüências de caracteres em datas e faz três comparações diferentes entre duas delas. Execute o programa pressionando “F5” e observe a saída verificando a janela “Imediato”.

Public Sub CompareDates () Dim d1, d2 Como Data d1 = CDate (“12/1/2001”) d2 = CDate (“12/1/2002”) Se (d1 <d2) Então Debug.Print “Data 1 ocorre anteriormente que a data 2. ” Se (d1> d2), então Debug.Print “Data 1 ocorre depois da data 2.” Se (d1 = d2), então Debug.Print “A data 1 é igual à data 2.” End Sub

Referências

     

    Você pode estar interessado:

    Deixe um comentário