Data e hora do Excel VBA - Macros fáceis do Excel

Índice

Ano, mês, dia de uma data | DateAdd | Data e hora atuais | Hora, minuto, segundo | Valor do tempo

Aprenda a trabalhar com datas e horas em Excel VBA.

Coloque um botão de comando em sua planilha e adicione as linhas de código abaixo. Para executar as linhas de código, clique no botão de comando na folha.

Ano, mês, dia de uma data

A macro a seguir obtém o ano de uma data. Para declarar uma data, use a instrução Dim. Para inicializar uma data, use a função DateValue.

Código:

Dim exampleDate As Date
exampleDate = DateValue ("Jan 19,2021-2022")
MsgBox Year (exampleDate)

Resultado:

Nota: Use Mês e Dia para obter o mês e o dia de uma data.

DateAdd

Para adicionar um número de dias a uma data, use a função DateAdd. A função DateAdd possui três argumentos. Preencha "d" para o primeiro argumento para adicionar dias. Preencha 3 para o segundo argumento para adicionar 3 dias. O terceiro argumento representa a data à qual o número de dias será adicionado.

Código:

Dim firstDate como data, secondDate como data
firstDate = DateValue ("Jan 19,2021-2022")
secondDate = DateAdd ("d", 3, firstDate)
MsgBox secondDate

Resultado:

Nota: Altere "d" para "m" para adicionar alguns meses a uma data. Coloque o cursor em DateAdd no Editor do Visual Basic e clique em F1 para obter ajuda sobre os outros especificadores de intervalo. As datas estão no formato dos EUA. Primeiro os meses, depois os dias. Este tipo de formato depende das configurações regionais do Windows.

Data e hora atuais

Para obter a data e hora atuais, use a função Now.

Código:

MsgBox Now

Resultado:

Hora, Minuto, Segundo

Para obter a hora de uma hora, use a função Hora.

Código:

Hora MsgBox (agora)

Resultado:

Nota: Use Minuto e Segundo para obter o minuto e o segundo de um tempo.

Valor do tempo

A função TimeValue converte uma string em um número de série de tempo. O número de série da hora é um número entre 0 e 1. Por exemplo, meio-dia (meio dia) é representado como 0,5.

Código:

MsgBox TimeValue ("9:20:01")

Resultado:

Agora, para ver claramente que o Excel trata os tempos internamente como números entre 0 e 1, adicione as seguintes linhas de código:

Dim y As Double
y = TimeValue ("09:20:01")
MsgBox y

Resultado:

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave