Funções de Data e Hora no VBA (Date, Time, Day, Month, Now, MonthName, Hour, DateDiff, DateAdd, Year, WeekDay, WeekDayName)

A Função Date

Retorna a data corrente do sistema, sem precisar de parâmetro.

Exemplo de código:

Sub Função_Date()

MsgBox Date()

End Sub

 A Função Time

 Retorna a hora corrente do sistema, sem precisar de parâmetro.

Exemplo de código:

Sub Função_Time()

MsgBox Time()

End Sub

 A Função Day

Retorna um número entre 1 e 31, indicando o dia do mês de um parâmetro informado.

Exemplo de código:

Sub Função_Day()

MsgBox Day(Date)

End Sub

 A Função Month

 Retorna um número entre 1 e 12, indicando o mês do ano de um parâmetro informado.

Exemplo de código:

Sub Função_Month()

MsgBox Month(Date)

End Sub

A Função Now

Retorna a hora e a data corrente do sistema, sem precisar de parâmetro.

Exemplo de código:

Sub Função_Now()

MsgBox Now()

End Sub

A Função MonthName

Esta Função recebe como parâmetro um número indicativo de um mês, retornando o nome correspondente por extenso ou de forma abreviada. A sintaxe é a seguinte: MonthName(número_do_mês) ou MonthName(número_do_mês, true) para nome abreviado.

Exemplo de código:

Sub Função_MonthName()

MsgBox MonthName(Month(Date))

End Sub

Ou ainda, com abreviação:

Sub Função_MonthName_abreviação()

MsgBox MonthName(Month(Date), True)

End Sub

Função Hour

Recebe uma hora como parâmetro e retorna um número entre 0 e 23, que indica a hora exata.

Exemplo de código:

Sub Função_Hour()

MsgBox Hour(Time)

End Sub

A Função DateDiff

Esta Função retorna o número de intervalos (em dias, trimestres, semestres, anos etc.) entre duas datas informadas. A sintaxe é a seguinte: DateDiff(intervalo, data1, data2).

Os valores para parâmetros de intervalo são os seguintes:

Parâmetro

Descrição

yyyy anos
q trimestres
m meses
y dias do ano (o mesmo que dias)
d dias
w semanas
ww semanas do ano (o mesmo que semanas)
h horas
n minutos
s segundos

Exemplo de código:

 Sub Função_DateDiff()

MsgBox DateDiff(“h”, “01/01/2008”, “13/05/2008”)

End Sub

 Ao ser executado, o código acima retornará uma caixa de mensagem com o valor 3192.

A Função DateAdd

 Os valores para parâmetros de intervalo são os seguintes:

Parâmetro

Descrição

yyyy anos
q trimestres
m meses
y dias do ano (o mesmo que dias)
d dias
w semanas
ww semanas do ano (o mesmo que semanas)
h horas
n minutos
s segundos

 Esta Função retorna uma data futura, com base em uma data informada. A sintaxe é a seguinte:

DateAdd(intervalo, número_de_intervalos, data), onde o intervalo é o tipo do período a ser acrescentado e o número_de_intervalos a quantidade.

Exemplo de código:

 Sub Função_DateAdd()

MsgBox DateAdd(“m”, “1000”, “13/05/2008”)

End Sub

 Ao ser executado, o código acima retornará uma caixa de mensagem com o seguinte resultado:

 13/9/2091

A Função Year

Retorna o ano de uma determinada data informada como parâmetro.

Exemplo de código:

 Sub Função_Year()

MsgBox Year(Date)

End Sub

 A Função WeekDay

 Retorna o dia da semana de uma determinada data informada como parâmetro. A sintaxe é a seguinte: WeekDay(data), onde Domingo será considerado o primeiro dia, ou WeekDay(data, prim_dia_semana), onde é indicado o dia da semana a ser considerado como o primeiro.

Exemplo de código:

Sub Função_WeekDay()

MsgBox WeekDay(“13/05/2008”)

End Sub

 Ao ser executado, o código acima retornará uma caixa de mensagem com o valor 3 como resultado.

 Ou ainda, com parâmetro de alteração do primeiro dia padrão (Domingo):

 Sub Função_WeekDay()

MsgBox WeekDay(“13/05/2008”,2)

End Sub

 Ao ser executado, o código acima retornará uma caixa de mensagem com o valor 2 como resultado.

 A Função WeekDayName

Retorna o nome da semana relacionado a um número informado como parâmetro, podendo ser abreviado, caso o segundo parâmetro da Função seja True.

Exemplo de código:

 Sub Função_WeekDayName()

MsgBox WeekDayName(“5”,True)

End Sub

Ao ser executado, o código acima retornará uma caixa de mensagem com o texto qui.

Abs, Dr. E

P.S. Gostaria de pedir desculpas, mas infelizmente não estou conseguindo responder todos os e-mails com dúvidas que venho recebendo. Por isso, peço que não usem o espaço de comentários do post para enviar dúvidas.

2 Respostas

  1. Parabens pelo blog. faço questao de divulgar a todos da empresa em que trabalho.

  2. Obrigado foi de grande valia essas informações. Muito Obrigado.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s