Comparando datas em VBA ou Visual Basic for Applications, é essencialmente a mesma operação comparar números inteiros. Para fazer a comparação datas mais fácil e simplificar o trabalho com datas em geral, use nomes de variáveis que indicam um tipo de "Data" . Por exemplo , escrever " DAT1 , " ou " birthday1 . " Para entender como comparar datas, escrever programas curtos que realizam comparações de data e usar o modo passo -a-passo a execução do ambiente de programação VBA, juntamente com a janela do meio ambiente " relógio rápida" , para observar essas comparações em tempo real. Determinar Tipo
Você não precisa converter as datas para o tipo "Data" para comparações se eles já estão nesse tipo. Você pode dizer se a variável é um tipo de data em um par de formas. Olhe para a seção de declarações no início de um procedimento VBA. Esta seção é onde você declarar todas as variáveis , utilizando a palavra-chave " Dim " . Suas variáveis de data será declarado com declarações como esta: " Dim d1 como data." Outra forma que você dizer se a variável é um tipo "Data" é olhando atribuições para uma variável. Esses trabalhos vão usar o caractere "#" , o que denota o tipo "Data" . Por exemplo , a seguinte instrução atribui a data " 2001/12/01 " para o "Data" variável "D1 ".
D1 = # # 2001/12/01
converter para Data Tipo
Para comparar datas em VBA , primeiro você precisa ter duas datas que são armazenados no tipo "Data" , que é um dos vários tipos de valor em VBA. O tipo "Data" é um caso especial do tipo de dados inteiro , por isso, comparando datas é essencialmente o mesmo que comparar números inteiros. Se as datas ainda não estão no tipo "Data" , você precisa convertê-los para esse tipo. Do que, ao aplicar a função CDate . Por exemplo, execute a seguinte instrução para converter a string " 2001/12/01 " para um tipo de data :
D1 = CDate ( " 2001/12/01 " ),
a comparação
Se você quiser testar se a data em um " data" variável ocorre antes de outra , use a menos do que símbolo, como mostra o seguinte exemplo
Se ( d1 < d2)
Use o símbolo de maior que para testar se uma data ocorre mais tarde do que outra data, e usar o símbolo de igual para ver se os valores em duas variáveis se referem à mesma data.
programa exemplo
Escrever um exemplo de programa que converte e compara datas para que você possa se referir ao programa ao escrever programas VBA mais complexos realizar comparações de data. Abra o ambiente de programação em um dos aplicativos do Office , clicando no botão "Developer" da aba " Visual Basic" , em seguida, cole o seguinte programa para a janela central do ambiente. Este programa usa a função " CDate " para converter strings para datas, e realiza três comparações diferentes em duas datas. Execute o programa com a tecla " F5 ", e exibir sua saída , olhando na janela " imediata" .
Public Sub CompareDates ( )
Dim d1 , d2 As Date
d1 = CDate ( " 2001/12/01 " )
d2 = CDate ( " 2002/12/01 " )
Se ( d1 < d2) Então Debug.Print " Data 1 ocorre anterior à data de 2. "
Se ( d1 > d2) Então Debug.Print " Data 1 ocorre mais tarde que a data 2. "
Se ( d1 = d2) Então Debug. Imprimir " Data 1 é o mesmo que data 2. "
Sub End