Lição 19: VBA - Funções de Data/Hora e Matemáticas
Funções para tratamento de Data e Hora
Veremos as principais funções para tratamento de Data e Hora.
Função Date
Retorna a data corrente do sistema. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo:
MsgBox "Data do Sistema: " & Date()
O resultado deste comando, está indicado na Figura a seguir:

Função Time
Retorna a hora corrente do sistema. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo:
MsgBox "Hora do Sistema: " & Time( )
O resultado deste comando, está indicado na Figura a seguir:

Função Day
Recebe como parâmetro uma data, e retorna um número entre 1 e 31, indicando o dia do mês. O formato geral é o seguinte:
Day(data)
Considere o exemplo abaixo:
MsgBox "Dia do mês: " & Day(Date( ))
O resultado deste comando, está indicado na Figura a seguir:
A função Date() captura a data do sistema e passa como parâmetro para a função Day, a qual por sua vez, retorna apenas o dia do mês.

Função Month
Recebe como parâmetro uma data, e retorna um número entre 1 e 12, indicando o mês do ano. O formato geral é o seguinte:
Month(data)
Considere o exemplo abaixo:
MsgBox "Mês do ano: " & Month(Date( ))
O resultado deste comando, está indicado na Figura a seguir:

A função Date() captura a data do sistema e passa como parâmetro para a função Month, a qual por sua vez, retorna apenas o mês do ano
Função Now
Retorna a hora e a data corrente do sistema. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo:
MsgBox "Data e Hora do Sistema: " & Now( )
O resultado deste comando, está indicado na Figura a seguir:

Função MonthName
Recebe como parâmetro um número, indicativo do mês do ano (1 - Janeiro, 2 - Fevereiro, e assim por diante), e um segundo parâmetro que pode ser Verdadeiro ou Falso. Se o segundo parâmetro for verdadeiro, o nome do mês será exibido abreviadamente. O formato geral é o seguinte:
MonthName(número_do_mês, abreviar)
Considere o exemplo abaixo:
MsgBox "Mês do ano: " & MonthName(Month(Date))
O resultado deste comando, está indicado na Figura a seguir:

A função Date() captura a data do sistema e passa como parâmetro para a função Month. A função Month retorna o número do mês retornado pela data. Este número é passado como primeiro parâmetro para a função MonthName.
Função Hour
Recebe como parâmetro uma hora, e retorna um número entre 0 e 23, indicando o hora do dia. O formato geral é o seguinte:
Hour(horário)
Considere o exemplo abaixo:
MsgBox "Hora do dia: " & Hour(Time( ))
O resultado deste comando, está indicado na Figura a seguir:

A função Time() captura a hora do sistema e passa como parâmetro para a função Hour(), a qual por sua vez, retorna apenas o hora do dia.
A função DateDiff
Esta função pode ser utilizada para determinar o número de intervalos (em dias, trimestres, semestres, anos, etc), entre duas datas. A sintaxe desta função é o seguinte:
DateDiff(intervalo, data1, data2)
O parâmetro intervalo é uma String que diz que tipo de intervalo vamos calcular. Por exemplo, é este parâmetro que define se queremos calcular o número de dias, ou o número de meses entre duas datas. Na Tabela a seguir, temos os valores possíveis para o parâmetro intervalo.
Valores para o parâmetro intervalo
Valor 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
A título de exemplo, vamos calcular o número de meses, desde o descobrimento do Brasil, até 31 de Dezembro de 1999. Para isso, utilizaríamos o seguinte comando
MsgBox "Meses desde o descobrimento: " & DateDiff("m","22/04/1500","31/12/1999")
O resultado deste comando, pode ser conferido na Figura a seguir:

Vamos modificar um pouco o nosso exemplo, e calcular o número de horas desde o descobrimento. Para isto, podemos utilizar o seguinte comando:
MsgBox "Meses desde o descobrimento: " & DateDiff("h","22/04/1500","31/12/1999")
O resultado deste comando, pode ser conferido na Figura a seguir:

A função DateAdd
Esta função pode ser utilizada para determinar uma data futura, com base em uma data fornecida, o tipo de período a ser acrescentado (dias, meses, anos, etc), e o número de períodos a serem acrescentados. A sintaxe desta função é o seguinte:
DateAdd(intervalo, número_de_intervalos, data)
O parâmetro intervalo é uma String que diz que tipo de intervalo vamos acrescentar. Por exemplo, é este parâmetro que define se queremos acrescentar um número especificado de dias, meses, anos, etc. Na Tabela a seguir, temos os valores possíveis para o parâmetro intervalo.
Valores para o parâmetro intervalo.
Valor Descrição
yyyy Anos
q Trimestres
m Meses
y Dias do ano (o mesmo que dias)
d Dias
w Semanas
ww Semanas do ano
h Horas
n Minutos
s Segundos
A título de exemplo, vamos calcular a data em que tivemos um período de 1000 meses, após o descobrimento do Brasil. Para isso, utilizaríamos o seguinte comando:
MsgBox "Mil meses após o descobrimento foi em : " & DateAdd("m",1000,"22/04/1500")
O resultado deste comando, pode ser conferido na Figura a seguir:

Vamos modificar um pouco o nosso exemplo, e calcular em que data teremos passado um milhão de dias após o descobrimento.
MsgBox "Um milhão de dias após o descobrimento em : " & DateAdd("d",1000000,"22/04/1500")
O resultado deste comando, pode ser conferido na Figura a seguir:

Função Year
Recebe como parâmetro uma data, e retorna um número indicativo do ano. O formato geral é o seguinte:
Year(data)
Considere o exemplo abaixo:
MsgBox "Ano atual: " & Year(Date( ))
O resultado deste comando, está indicado na Figura a seguir:

A função Date() captura a data do sistema e passa como parâmetro para a função Year, a qual por sua vez, retorna apenas o ano.
Função WeekDay
Recebe como parâmetros uma data, e um parâmetro opcional, que indica qual o primeiro dia da semana. Se este parâmetro for omitido, o primeiro dia da semana será considerado Domingo. O valor para o primeiro dia da semana é numérico: 1 - Domingo, 2 - Segunda-feira, e assim por diante.
WeekDay(data, prim_dia_semana.)
Considere o exemplo abaixo:
MsgBox "Dia da semana: " & WeekDay("31/12/1999")
O resultado deste comando, está indicado na Figura a seguir:

O valor 6, indica que foi uma Sexta-feira, o que confere com o calendário.
Poderíamos determinar que o primeiro dia da semana é a Segunda-feira (2 para o último parâmetro). Com isso o nosso exemplo, ficaria assim:
MsgBox "Dia da semana: " & WeekDay("31/12/1999",2)
O resultado deste comando, está indicado na Figura a seguir:

O valor 5, indica que foi uma Sexta-feira, pois agora a Segunda-feira passou a ser o dia 1, a Terça-feira o dia 2, e assim por diante. Novamente confere com o calendário.
Função WeekDayName
Recebe como parâmetro um número, indicativo do dia da semana, e um segundo parâmetro que pode ser Verdadeiro ou Falso. Se o segundo parâmetro for verdadeiro, o nome do dia da semana será exibido abreviadamente. O formato geral é o seguinte:
WeekDayName(número_do_dia, abreviar)
Considere o exemplo abaixo:
MsgBox "Dia da semana: " & WeekDayName(6,False)
O resultado deste comando, está indicado na Figura a seguir:

Funções para Cálculos matemáticos
Veremos as principais funções para efetuar cálculos matemáticos.
Na Tabela a seguir, temos a descrição das principais funções matemáticas, disponíveis no VBA.
Funções para cálculos matemáticos.
Função Descrição
Abs(n) Retorna o valor absoluto (sem sinal), do número n.
Atn(n) Retorna o valor do arco, cuja tangente é o número
n. O número n deve ser fornecido em radianos.
Cos(n) Retorna o coseno do número n. O número n deve ser
fornecido em radianos.
Exp(n) Retorna o número e (logaritmo neperiano e=2,7183),
elevado no número n.
Log(n) Retorna o logaritmo natural de um número n.
Rnd(n) Retorna um número aleatório entre 0 e 1.
Sgn(n) Retorna um número inteiro, indicando o sinal do
número n. Retorna -1 para números negativos e 1
para números positivos.
Sin(n) Retorna o seno do número n. O número n deve ser
fornecido em radianos
Sqr(n) Retorna a Raiz quadrada do número n.
Tan(n) Retorna a tangente do número n. O número n deve
ser fornecido em radianos.
NOTA: Para converter graus para radianos, multiplique o valor em graus por pi (3.14), e divida o resultado por 180.
Na Tabela a seguir temos alguns exemplos de utilização das funções matemáticas do VBA.
Alguns exemplos de utilização das funções matemáticas.
Exemplo Valor de retorno.
Abs(-2350) 2350
Atn(2) 1,1071487177
Cos(0) 1
Exp(1) 2,71828182845905
Log(1000) 6,90775527898214
Rnd*10 Gera um número aleatório entre 0 e 10
Sgn(-235) Retorna -1, pois o número é
negativo
Sin(0) Retorna 0
Sqr(400) Retorna 20
Tan(0) Retorna 0
Voltar ao início
| PRODUTOS RELACIONADOS - EXCEL |
| LIVROS |
VÍDEO-AULAS |
E-BOOKS |
|
|
|
|
|
|
|
Uma verdadeira especialização em Office, com 6208 páginas de conteúdo que vai do básico ao avançado, detalhadamente explicado e exemplificado. Desde os recursos básicos, passando pelos recursos avançados, pela criação de macros e pela automação de tarefas usando programação VBA.
Apenas: R$ 195,00 (valor do frete já incluído)
CLIQUE AQUI PARA SABER COMO COMPRAR ESTE CD |
|