Função DateDiff no Excel VBA

A função VBA Datediff fornece a diferença entre dois intervalos especificados. Aqui, o intervalo pode ser especificado como horas / meses / dias … etc., conforme especificado pelo usuário. É uma função embutida no Excel e categorizada como a função " Data / Hora ". Ele pode ser usado como uma função " VBA " no Excel.

Sintaxe :

Parâmetro ou argumentos usados ​​na função DateDiff.

1. Intervalo:

  • É obrigatório.
  • Tipo: - Expressão do tipo string.
  • Calcula a diferença entre as duas datas.
Configuração (intervalo) Descrição / Explicação
"S" Segundos
"N" Minutos
"H" Horas
"D" Dias
"W" Dia da semana
"M" Meses
"Ww" Semana
"Y" Dia do ano
"Q" Trimestre
"Aaaa" Ano

2. Data1:

  • É obrigatório.
  • Tipo: - Data.
  • Representa a data / hora de início do cálculo da data datada.

3. Data2:

  • É obrigatório.
  • Tipo: - Data.
  • Representa a data / hora final para o cálculo do datediff.

4. Primeiro dia da semana:

  • É opcional
  • Tipo: - Numérico ou Texto.
  • Ele especifica o dia que é usado como o primeiro dia da semana.
  • Se esse argumento ou parâmetro for omitido, ele assumirá domingo (VbSunday) como o primeiro dia da semana.

5. Primeira semana do ano

  • É opcional
  • Tipo: - Numérico ou Texto.
  • Ele especifica o dia que é usado como a primeira semana do ano.
  • Se esse argumento ou parâmetro for omitido, ele assumirá 1º de janeiro (vbFirstJan1) como a primeira semana do ano.

Como ativar a guia do desenvolvedor no Excel?

A guia do desenvolvedor é obrigatória na faixa de opções do Excel para iniciar e gravar macro VBA. Abaixo estão as diferentes etapas para habilitar a guia desenvolvedores no Excel VBA:

Etapa 1: Vá para a guia do menu Arquivo .

Etapa 2: no menu Arquivo, clique em Opções, situado na última das opções disponíveis da lista, no menu.

Etapa 3: clique em Personalizar fita para acessar as opções de personalização da fita.

Etapa 4: aqui nas opções de personalização, você pode ver a opção Desenvolvedor . Marque esta opção para que ela seja ativada na faixa principal do excel e possa ser acessada facilmente. Clique em OK depois de verificar a opção Desenvolvedor.

Assim que você clicar em OK, poderá ver a guia Desenvolvedor ativa no menu da faixa de opções do Excel com várias opções disponíveis em. Veja a imagem abaixo.

Como usar a função DateDiff no Excel VBA?

Abaixo estão as diferentes etapas para usar a função DateDiff no Excel VBA:

Você pode fazer o download deste modelo do VBA DateDiff Excel aqui - Modelo do VBA DateDiff Excel

Exemplo 1

Neste exemplo, siga as etapas abaixo para usar a função DateDiff no VBA:

Etapa 1: primeiro crie um nome de macro.

Código:

 Sub bb () End Sub 

Etapa 2: duas variáveis ​​são definidas como data e data atribuída a elas.

Código:

 Sub bb () Dim dt1 como data Dim dt2 como data dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 19/19/2019 11:00:00 # End Sub 

Etapa 3: escreva a sintaxe da função Datediff usando o argumento necessário e atribua o mesmo através da caixa de mensagem do VBA.

Código:

 Sub bb () Dim dt1 como data Dim dt2 como data dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 19/04/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Etapa 4: execute o código pressionando a tecla F5 ou clicando no botão Play. Para que o resultado seja exibido na caixa de mensagem.

Exemplo 2

No exemplo abaixo, a função datatediff calcula o número de anos entre as duas datas “09/06/2016” e “16/12/2020”. Aqui, parâmetros opcionais não são levados em consideração.

Código:

 Sub AA () 'Diferença de ano MsgBox DateDiff ("aaaa", "09/06/2016", "16/12/2020") End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 3

No exemplo abaixo, a função datatediff calcula o número de meses entre as duas datas ”09/06/2016” e “16/12/2020”. Aqui, parâmetros opcionais não são levados em consideração.

Código:

 Diferença do mês do sub AA1 () 'MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 4

No exemplo abaixo, a função datatediff calcula o número de semanas entre as duas datas ”09/06/2016” e “16/12/2020”. Aqui, parâmetros opcionais não são levados em consideração.

Código:

 Diferença de semanas do sub AA2 () 'MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 5

No exemplo abaixo, a função “ datatediff ” calcula o número de quartos entre as duas datas ”09/06/2016” e “16/12/2020”. Aqui, parâmetros opcionais não são levados em consideração.

Código:

 Diferença de trimestre do sub AA3 () 'MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 6

No exemplo abaixo, a função “ datatediff ” calcula o número de dias entre as duas datas ”09/06/2016” e “16/12/2020”. Aqui, parâmetros opcionais não são levados em consideração.

Código:

 Diferença de dias do sub AA4 () 'MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 7

No exemplo abaixo, a função " datatediff " calcula o número de horas entre as duas datas e a hora "9:00 em 01/01/2010" e "11:00 em 19/04/04".

Código:

 Sub bb1 () 'Calcule o número de horas entre 1/1/2010 9:00 e 19/2/2019 11:00 Dim dt1 como data Dim dt2 como data dt1 = # 1/1 / 2010 9:00:00 # dt2 = # 19/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 8

No exemplo abaixo, a função “ datatediff ” calcula o número de segundos entre as duas datas e horas ”9:00 em 01/01/2010” e “11:00 em 19/04/04”.

Código:

 Sub bb2 () 'Calcule o número de segundos entre 1/1/2010 9:00 e 19/04/2019 04:00 Dim dt1 como data Dim dt2 como data dt1 = # 1/1 / 2010 9:00:00 # dt2 = # 19/19/2019 11:00:00 # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 9

No exemplo abaixo, a função “ datatediff ” calcula o número de minutos entre as duas datas e a hora ”9:00 em 01/01/2010” e “11:00 em 19/04/04”.

Código:

 Sub bb3 () 'Calcule o número de minutos entre 1/1/2010 9:00 e 19/04/2019 04:00 Dim dt1 como data Dim dt2 como data dt1 = # 1/1 / 2010 9:00:00 # dt2 = # 19/19/2019 11:00:00 # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo # 10

Se o argumento for especificado como "w" (semanas), a função "Datediff" retornará o número da semana inteira entre as duas datas. Semanas parciais são ignoradas. No exemplo, a função " DateDiff " calcula o número de semanas inteiras entre as datas 01/01/2010 e 19/4/2019.

Código:

 Sub bb4 () 'Calcule o número de semanas entre 1/1/2010 e 19/4/2010 Dim dt1 como data Dim dt2 como data dt1 = # 1/1/2010 # dt2 = # 19/04/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo # 11

Se o argumento for especificado como "ww" (semanas do calendário), a função "Datediff" fornecerá o número de semanas entre o início da semana que contém Data1 e o início da semana que contém Data2.

Código:

 Sub bb5 () 'Calcule o número de semanas do calendário entre 1/1/2010 e 19/4/2019' Primeiro dia da semana = segunda-feira Dim dt1 como data Dim dt2 como data dt1 = # 1/1/2010 # dt2 = # 19/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Exemplo 12

No exemplo abaixo, a função "datediff" é usada para datas "1/1/1990" e "1/1/1998"

Código:

 Subcc () Dim dt1 como data Dim dt2 como data dt1 = # 1/1 / 1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 # MsgBox ("linha 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("linha 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("linha 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("linha 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("linha 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("linha 6:" & DateDiff ("q", dt1, dt2)) MsgBox ("linha 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("linha 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("linha 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" linha 10: "& DateDiff (" aaaa ", dt1, dt2)) End Sub 

Para executar o programa, pressione a aba “ F8 ” ou “ Run ”. O resultado será exibido na caixa de mensagem.

Em seguida, clique em " Ok " para obter o próximo resultado.

Conclusão

A função " DateDiff " ajuda a determinar quantos intervalos de tempo especificados existem entre duas datas e horários especificados.

Artigos recomendados

Este é um guia para o VBA DateDiff. Aqui discutimos como usar a função DateDiff no Excel VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Matriz de declaração do VBA (exemplos)
  2. Guia completo do VBA on Error
  3. Desproteger método de planilha no VBA
  4. Colunas VBA | Modelo do Excel
  5. Ambiente VBA

Categoria: