VBA – Obter a Data de Hoje (Data Atual)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on May 26, 2023

Este tutorial demonstrará como obter a data de hoje no VBA.

Há duas maneiras de obter a data de hoje no código VBA: usando a função VBA Date() ou as funções VBA Now().

Função Date()

A função Date() retorna a data de hoje. No exemplo abaixo, atribuímos a data de hoje a uma variável e, em seguida, exibimos a data na janela imediata do VBE Editor.

  Dim dtToday as Date
  dtToday = Date()
  Debug.Print dtToday

Como alternativa, podemos exibir a data em uma caixa de mensagem.

Sub TestarData()
  Dim dtToday as Date
  dtToday = Date()
  Msgbox "A data de hoje é " & dtToday
End Sub

msgbox data hoje

 

Função Now()

A função Now() funciona da mesma forma que a função date, mas inclui a hora.

Sub TestarData()
  Dim dtToday As Date
  dtToday = Now()
  MsgBox "A data de hoje é " & dtToday
  End Sub

msgbox data hora hoje

Formatação de Datas com o VBA

Nas funções Date() e Now(), a data é formatada em um estilo padrão, conforme determinado pelas configurações do nosso computador. Podemos personalizar essa formatação usando a função Format do VBA. Como a função Format retornará uma string, precisamos declarar uma variável STRING em vez de uma variável DATE.

Sub TestarDate()
   Dim dtToday As String
   dtToday = Format (Date, "dd mmmm yyyy")
   MsgBox "A data de hoje é " & dtToday
End Sub

msgbox data mes formatado

Também podemos formatar a função Now() para incluir a parte da hora em um formato personalizado.

Sub FormatarNow()
  Dim dtToday As String
  dtToday = Format(Now(), "dd mmmm yy hh:mm:ss am/pm")
  MsgBox dtToday
End Sub

resposta-formatar-now

Comparação de Duas Datas com o VBA

Também podemos usar a função Date para comparar a data de hoje com uma data diferente – talvez queiramos calcular quantos dias faltam para um evento! Podemos fazer isso usando a função DateDiff() do VBA, que retornará um número. Portanto, podemos declarar uma variável INTEGER para armazenar o valor retornado.

Sub TestarDateDiff()
 Dim dtToday As Date
 Dim dtSomeDay As Date
 Dim iDays As Integer
 dtToday = Date
 dtSomeDay = "05/06/2021"
 iDays = DateDiff("d", dtToday, dtSomeDay)
 MsgBox "Existem " & iDays & " dias entre as duas datas."
End Sub

dias entre datas

Como as datas são armazenadas como números, também poderíamos subtrair a segunda data da primeira para obter a mesma resposta.

iDays = dtToday - dtSomeDay
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA