Funções de data VBA

Índice

Neste tutorial, veremos as diferentes funções de data do VBA integradas.

Função de data VBA

Você pode usar a função de data para retornar a data atual.

A sintaxe da função Date é Date (). Não tem argumentos.

O código a seguir mostra como usar a função Date:

12345678 Sub UsingTheDateFunction ()Dim theDate As DatetheDate = Date ()Debug.Print theDateEnd Sub

O resultado é:

Função VBA Now

Você pode usar a função Now para retornar a data e hora atuais.

A sintaxe da função Now é Now (). Não tem argumentos.

O código a seguir mostra como usar a função Now:

12345678 Sub UsingTheNowFunction ()Dim theDate As DatetheDate = Now ()Debug.Print theDateEnd Sub

O resultado é:

Função de tempo VBA

Você pode usar a função de hora para retornar a hora atual.

A sintaxe da função Time é Time (). Não tem argumentos.

O código a seguir mostra como usar a função de tempo:

12345678 Sub UsingTheTimeFunction ()Dim theTime As DatetheTime = Time ()Debug.Print theTimeEnd Sub

O resultado é:

Função VBA DateAdd

Você pode usar a função DateAdd para adicionar um intervalo de data / hora a uma data ou hora, e a função retornará a data / hora resultante.

A sintaxe da função DateAdd é:

DateAdd (intervalo, número, data) onde:

  • Intervalo - uma string que especifica o tipo de intervalo a ser usado. O intervalo pode ser um dos seguintes valores:

“D” - dia
“Ww” - semana
“W” - dia da semana
“M” - mês
“Q” - quarto
“Aaaa” - ano
“Y” - dia do ano
“H” - hora
“N” - minuto
“S” - segundo

  • Número - o número de intervalos que você deseja adicionar à data / hora original.
  • Data - a data / hora original.

Nota: Ao usar datas em seu código, você deve colocá-las entre # ou aspas.

O código a seguir mostra como usar a função DateAdd:

123456789 Sub UsingTheDateAddFunction ()Dim laterDate As DatelaterDate = DateAdd ("m", 10, "11/12/2019")Debug.Print laterDateEnd Sub

O resultado é:

Função VBA DateDiff

Você pode usar a função DateDiff para obter a diferença entre duas datas, com base em um intervalo de tempo especificado.

A sintaxe da função DateDiff é:

DateDiff (Interval, Date1, Date2, [Firstdayofweek], [Firstweekofyear]) onde:

  • Intervalo - uma string que especifica o tipo de intervalo a ser usado. O intervalo pode ser um dos seguintes valores:

“D” - dia
“Ww” - semana
“W” - dia da semana
“M” - mês
“Q” - quarto
“Aaaa” - ano
“Y” - dia do ano
“H” - hora
“N” - minuto
“S” - segundo

  • Date1 - um valor de data que representa a data anterior.
  • Date2 - um valor de data que representa a data posterior.
  • Primeiro dia da semana (Opcional) - Uma constante que especifica o dia da semana que a função deve usar como o primeiro dia da semana. Se o domingo em branco for usado como o primeiro dia da semana. Firstdayofweek pode ser um dos seguintes valores:

-vbSunday - usa o domingo como o primeiro dia da semana.
-vbMonday - usa segunda-feira como o primeiro dia da semana.
-vbTmana - usa terça-feira como o primeiro dia da semana.
-vbWed Wednesday - usa quarta-feira como o primeiro dia da semana.
-vbThursday - usa quinta-feira como o primeiro dia da semana.
-vbFriday - usa sexta-feira como o primeiro dia da semana.
-vbSaturday - usa o sábado como o primeiro dia da semana.
-vbUseSystemDayOfTheWeek - usa o primeiro dia da semana que é especificado pelas configurações do seu sistema.

  • Primeira semana do ano (Opcional) - Uma constante que especifica a primeira semana do ano. Se estiver em branco, a primeira semana de janeiro será usada como a primeira semana do ano. A primeira semana do ano pode ser um dos seguintes valores:

-vbFirstJan1 - usa a semana que contém 1º de janeiro.
-vbFirstFourDays - usa a primeira semana que contém pelo menos quatro dias no ano novo.
-vbFirstFullWeek - usa a primeira semana inteira do ano.
-vbSystem - usa a primeira semana do ano conforme especificado nas configurações do sistema.

O código a seguir mostra como usar a função DateDiff:

123456789 Sub UsingTheDateDiffFunction ()Dim theDifferenceBetweenTwoDates enquanto longotheDifferenceBetweenTwoDates = DateDiff ("q", "11/11/2010", "12/10/2012")Debug.Print theDifferenceBetweenTwoDatesEnd Sub

O resultado é:

Função VBA DatePart

Você pode usar a função DatePart para retornar uma parte (dia, semana, trimestre, mês, etc.) de uma determinada data.

A sintaxe da função DatePart é:

DatePart (Interval, Date, [Firstdayofweek], [Firstweekofyear]) onde:

  • Intervalo - uma string que especifica a parte da data a ser retornada. O intervalo pode ser um dos seguintes valores:

“D” - dia
“Ww” - semana
“W” - dia da semana
“M” - mês
“Q” - quarto
“Aaaa” - ano
“Y” - dia do ano
“H” - hora
“N” - minuto
“S” - segundo

  • Data - a data da qual você deseja que a função retorne uma parte.
  • Primeiro dia da semana (Opcional) - Uma constante que especifica o dia da semana que a função deve usar como o primeiro dia da semana. Se o domingo em branco for usado como o primeiro dia da semana. Firstdayofweek pode ser um dos seguintes valores:

-vbSunday - usa o domingo como o primeiro dia da semana.
-vbMonday - usa segunda-feira como o primeiro dia da semana.
-vbTmana - usa terça-feira como o primeiro dia da semana.
-vbWed Wednesday - usa quarta-feira como o primeiro dia da semana.
-vbThursday - usa quinta-feira como o primeiro dia da semana.
-vbFriday - usa sexta-feira como o primeiro dia da semana.
-vbSaturday - usa o sábado como o primeiro dia da semana.
-vbUseSystemDayOfTheWeek - usa o primeiro dia da semana que é especificado pelas configurações do seu sistema.

  • Primeira semana do ano (Opcional) - Uma constante que especifica a primeira semana do ano. Se estiver em branco, a primeira semana de janeiro será usada como a primeira semana do ano. A primeira semana do ano pode ser um dos seguintes valores:

-vbFirstJan1 - usa a semana que contém 1º de janeiro.
-vbFirstFourDays - usa a primeira semana que contém pelo menos quatro dias no ano novo.
-vbFirstFullWeek - usa a primeira semana inteira do ano.
-vbSystem - usa a primeira semana do ano conforme especificado nas configurações do sistema.

O código a seguir mostra como usar a função DatePart:

123456789 Sub UsingTheDatePartFunction ()Dim thePartOfTheDate As IntegerthePartOfTheDate = DatePart ("aaaa", "12/12/2009")Debug.Print thePartOfTheDateEnd Sub

O resultado é:

Função VBA DateSerial

A função VBA DateSerial leva um ano, mês e dia de entrada e retorna uma data.

A sintaxe da função DateSerial é:

DateSerial (ano, mês, dia) onde:

  • Ano - um valor inteiro entre 100 e 9999 que representa o ano.
  • Mês - um valor inteiro que representa o mês.
  • Dia - um valor inteiro que representa o dia.

O código a seguir mostra como usar a função DateSerial:

123456789 Sub UsingTheDateSerialFunction ()Dim theDate As DatetheDate = DateSerial (2010, 11, 10)Debug.Print theDateEnd Sub

O resultado é:

Função VBA DateValue

A função DateValue retorna uma data quando é fornecida uma representação de string de uma data.

A sintaxe da função DateValue é:

DateValue (Date) onde:

  • Data - uma string que representa a data.

O código a seguir mostra como usar a função DateValue:

123456789 Sub UsingTheDateValueFunction ()Dim theDate As DatetheDate = DateValue ("29 de outubro de 2010")Debug.Print theDateEnd Sub

O resultado é:

Função VBA Day

Você pode usar a função Day para retornar o dia de uma data inserida.

A sintaxe da função Day é:

Dia (Date_value) onde:

  • Date_value - a data da qual você deseja extrair o dia.

O código a seguir mostra como usar a função Day:

123456789 Sub UsingTheDayFunction ()Dim theDay As IntegertheDay = Day ("10/12/2010")Debug.Print theDayEnd Sub

O resultado é:

Função VBA Hour

Você pode usar a Função Hora para retornar a hora de uma hora inserida.

A sintaxe da Função Hora é:

Hora (hora) onde:

  • Hora - a hora da qual você deseja extrair a hora.

O código a seguir mostra como usar a Função Hora:

123456789 Sub UsingTheHourFunction ()Dim theHour As IntegertheHour = Hour ("2:14:17 AM")Debug.Print theHourEnd Sub

O resultado é:

Função Minuto VBA

Você pode usar a função de minuto para retornar o valor do minuto de um tempo de entrada.

A sintaxe da Função Minuto é:

Minuto (tempo) onde:

  • Hora - a hora da qual você deseja extrair o valor do minuto.

O código a seguir mostra como usar a função Minute:

123456789 Sub UsingTheMinuteFunction ()Dim theMinuteValue As IntegertheMinuteValue = Minute ("2:14:17 AM")Debug.Print theMinuteValueEnd Sub

O resultado é:

Segunda Função VBA

Você pode usar a segunda função para retornar o segundo valor de um tempo de entrada.

A sintaxe da segunda função é:

Segundo (tempo) onde:

  • Hora - a hora da qual você deseja extrair o segundo valor.

O código a seguir mostra como usar a segunda função:

123456789 Sub UsingTheSecondFunction ()Dim theSecondValue As IntegertheSecondValue = Second ("2:14:17 AM")Debug.Print theSecondValueEnd Sub

O resultado é:

Função Mês VBA

Você pode usar a função de mês para retornar o mês de uma data de entrada.

A sintaxe da Função Mês é:

Mês (Date_value) onde:

  • Date_value - a data da qual você deseja extrair o mês.

O código a seguir mostra como usar a Função Mês:

12345678 Sub UsingTheMonthFunction ()Dim theMonth As IntegertheMonth = Month ("18/11/2010")Debug.Print theMonthEnd Sub

O resultado é:

Função VBA MonthName

Você pode usar a função MonthName para retornar o nome de um mês a partir de um número de mês fornecido pela entrada.

A sintaxe da função MonthName é:

MonthName (Number_of_month, [abreviar]) onde:

  • Numero_do_mês - um valor inteiro entre 1 e 12.
  • Abreviar (Opcional) - Especifica se o nome do mês deve ser abreviado. Se estiver em branco, o valor padrão False será usado.
12345678 Sub UsingTheMonthNameFunction ()Dim theMonthName As StringtheMonthName = MonthName (12, True)Debug.Print theMonthNameEnd Sub

O resultado é:

Função VBA TimeSerial

A função TimeSerial leva uma hora, minuto e segundo de entrada e retorna uma hora.

A sintaxe da função TimeSerial é:

TimeSerial (hora, minuto, segundo) onde:

  • Hora - um valor inteiro entre 0 e 23 que representa o valor da hora.
  • Minuto - um valor inteiro entre 0 e 59 que representa o valor do minuto.
  • Segundo - um valor inteiro entre 0 e 59 que representa o segundo valor.

O código a seguir mostra como usar a função TimeSerial:

12345678 Sub UsingTheTimeSerialFunction ()Dim theTime As DatetheTime = TimeSerial (1, 10, 15)Debug.Print theTimeEnd Sub

O resultado é:

Função VBA TimeValue

A função TimeValue retorna um Time de uma representação de string de uma data ou hora.

A sintaxe da função TimeValue é:

TimeValue (Time) onde:

  • Time - uma string que representa o tempo.

O código a seguir mostra como usar a função TimeValue:

12345678 Sub UsingTheTimeValueFunction ()Dim theTime As DatetheTime = TimeValue ("22:10:17")Debug.Print theTimeEnd Sub

O resultado é:

Função VBA Dia da Semana

Você pode usar a função Weekday para retornar um número inteiro de 1 a 7 representando um dia da semana a partir de uma data inserida.

A sintaxe da função Weekday é:

Dia da semana (data, [primeiro dia da semana]) onde:

  • Data - a data da qual você deseja extrair o valor do dia da semana.
  • Primeiro dia da semana (Opcional) - Uma constante que especifica o dia da semana que a função deve usar como o primeiro dia da semana. Se o domingo em branco for usado como o primeiro dia da semana. Firstdayofweek pode ser um dos seguintes valores:

-vbSunday - usa o domingo como o primeiro dia da semana.
-vbMonday - usa segunda-feira como o primeiro dia da semana.
-vbTmana - usa terça-feira como o primeiro dia da semana.
-vbWed Wednesday - usa quarta-feira como o primeiro dia da semana.
-vbThursday - usa quinta-feira como o primeiro dia da semana.
-vbFriday - usa sexta-feira como o primeiro dia da semana.
-vbSaturday - usa o sábado como o primeiro dia da semana.
-vbUseSystemDayOfTheWeek - usa o primeiro dia da semana que é especificado pelas configurações do seu sistema.

O código a seguir mostra como usar a função Weekday:

1234567 Sub UsingTheWeekdayFunction ()Dim theWeekDay As IntegertheWeekDay = Dia da semana ("20/11/2019")Debug.Print theWeekDayEnd Sub

O resultado é:

Função VBA WeekdayName

Você pode usar a função WeekdayName para retornar o nome de um dia da semana a partir de um número do dia da semana fornecido pela entrada.

A sintaxe da função WeekdayName é:

WeekdayName (Weekday, [Abbreviate], [Firstdayoftheweek]) onde:

  • Dia da semana - um valor inteiro entre 1 e 7.
  • Abreviar (Opcional) -Especifica se o nome do dia da semana deve ser abreviado. Se estiver em branco, o valor padrão False será usado.
  • Primeiro dia da semana (Opcional) - Uma constante que especifica o dia da semana que a função deve usar como o primeiro dia da semana. Se o domingo em branco for usado como o primeiro dia da semana. Firstdayofweek pode ser um dos seguintes valores:

-vbSunday - usa o domingo como o primeiro dia da semana.
-vbMonday - usa segunda-feira como o primeiro dia da semana.
-vbTmana - usa terça-feira como o primeiro dia da semana.
-vbWed Wednesday - usa quarta-feira como o primeiro dia da semana.
-vbThursday - usa quinta-feira como o primeiro dia da semana.
-vbFriday - usa sexta-feira como o primeiro dia da semana.
-vbSaturday - usa o sábado como o primeiro dia da semana.
-vbUseSystemDayOfTheWeek - usa o primeiro dia da semana que é especificado pelas configurações do seu sistema.

12345678 Sub UsingTheWeekdayNameFunction ()Dim theWeekdayName As StringtheWeekdayName = WeekdayName (4)Debug.Print theWeekdayNameEnd Sub

O resultado é:

Função de ano VBA

Você pode usar a função Year para retornar o ano de uma data de entrada.

A sintaxe da função Year é:

Ano (Date_value) onde:

  • Date_value - a data da qual você deseja extrair o ano.

O código a seguir mostra como usar a função Year:

12345678 Sub UsingTheYearFunction ()Dim theYear As IntegertheYear = Year ("11/12/2010")Debug.Print theYearEnd Sub

O resultado é:

Comparando datas em VBA

Você pode comparar datas usando os operadores>, <e = no VBA. O código a seguir mostra como comparar duas datas no VBA.

12345678910111213141516171819 Sub ComparingDates ()Dim dateUma como dataDim dateDuas como datadateOne = "10/10/2010"dateTwo = "11/11/2010"Se dateOne> dateTwo ThenDebug.Print "dateOne é a data posterior"ElseIf dateOne = dateTwo ThenDebug.Print "As duas datas são iguais"OutroDebug.Print "dateTwo é a data posterior"Fim seEnd Sub

Saiba mais sobre como formatar datas como strings visualizando este tutorial.

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

wave wave wave wave wave