Como usar a função vba datepart?

A função VBA DATEPART está listada na categoria de data das funções VBA. Quando você o usa no código VBA, ele pode retornar o valor do dia a partir de um valor de data ou hora . Em termos simples, você pode obter segundos, minutos, horas, dias, meses ou anos a partir de um valor de data ou hora.

Sintaxe

DatePart(intervalo, data, [primeiro dia da semana, [primeira semana do ano]])

Argumentos

  • Intervalo : Uma string para especificar qual parte da data deve ser retornada no resultado.
  • Data : A data a partir da qual a parte da data deve retornar.
  • [FirstDayOfWeek] : Uma string para definir o primeiro dia da semana [Este é um argumento opcional e se omitido vbSunday por padrão].
    • vbUseSystemDayOfWeek – Dependendo das configurações do sistema.
    • vbDomingo – domingo
    • vblunday – segunda-feira
    • vbTerça-feira – Terça-feira
    • vbQuarta-feira – Quarta-feira
    • vbQuinta-feira – Quinta-feira
    • vbSexta-feira – Sexta-feira
    • vbSábado – Sábado
  • [FirstWeekOfYear] : Uma string para definir a primeira semana do ano [Este é um argumento opcional e se omitido vbFirstJan1 por padrão].
    • vbSystem – Dependendo das configurações do sistema.
    • vbFirstJan1 – A semana em que ocorre o primeiro dia de janeiro.
    • vbFirstFourDays – A primeira semana que contém pelo menos quatro dias no ano novo.
    • vbFirstFullWeek – A primeira semana completa do ano novo.

Exemplo

Para entender de forma prática como usar a função VBA DATEPART, você precisa seguir o exemplo abaixo, onde escrevemos um código VBA usando-a:

example-vba-datepart-function
 Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub

No código acima, usamos um intervalo diferente em DATEPART:

  • ‘d’ para obter o dia e retornou 15.
  • ‘h’ para obter as horas, mas como não temos tempo na data, retornou 0 no resultado.
  • ‘m’ para obter o mês e retornou 1.
  • ‘n’ para obter os minutos, mas como não temos tempo na data, retornou 0 no resultado.
  • “q” para obter a moeda e retornou 1.
  • ‘s’ para obter os segundos, mas como não temos tempo na data, ele retornou 0 no resultado.
  • ‘w’ para obter o dia da semana e retornou 3.
  • ‘ww’ para pegar a semana do ano e voltou 3.
  • ‘y’ para obter o dia do ano e retornou 15.
  • “aaaa” para pegar o ano e voltou para 2019.

Comentários

  • Se for fornecida uma data sem o ano, será utilizado o ano atual.
  • Se o valor especificado for diferente de uma data ou uma data que não possa ser reconhecida como data, o VBA retornará o erro de tempo de execução 13.
  • Definir o argumento “firstdayofweek” só funciona quando o “intervalo” é “w” ou “ww”.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *