120 Lições | Gratuito Online | Autor: Júlio Battisti
Veremos as principais funções para tratamento de Data e Hora.
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:

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:

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.

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
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:

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.
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.
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.
Tabela - 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:

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.
Tabela - 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 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:

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.
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.
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:

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.
Tabela - Principais funções matemáticas do VBA:
| Valor | 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.
Tabela - 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 | Um número aleatório entre 0 e 10 |
| Sgn(-235) | -1, pois o número é negativo |
| Sin(0) | 0 |
| Sqr(400) | 20 |
| Tan(0) | 0 |
|
VOCÊ CONHECE A UNIVERSIDADE DO EXCEL? |
|
UNIVERSIDADE PRÁTICA DO EXCEL - Domine o Excel, do Básico até a Criação de Planilhas Profissionais com Excel e VBA! Aplica-se ao Excel 2019, 2016, 2013 e 2010! |
|
22 Cursos - 925 Vídeo-Aulas - 120:42 horas - Só R$ 97,00 |
|
Para Todos os Detalhes, Acesse: |