VBA DatePart

Função DataPart do Excel VBA

DatePart em VBA é usado para identificar a parte da data para a data fornecida como um argumento, a parte da data pode ser dias ou meses ou ano ou mesmo a hora, minutos e segundos, a sintaxe desta função se esclarece muito e é o seguinte, Datepart (Interval, Date as Argument).

Sintaxe

A sintaxe da função DatePart é fornecida abaixo:

  • Intervalo: Os dados a serem passados ​​em um argumento de intervalo são do tipo string, o que significa que este argumento pode conter quaisquer valores válidos. O intervalo pode ser de ano, mês, trimestre, dia, semana, hora, minuto, segundo.
  • Data: o valor da data que precisa ser avaliado.
  • firstdayofweek: este é um parâmetro opcional. Isso descreve o primeiro dia da semana, isso pode até ser ignorado. Se este parâmetro for ignorado, o domingo será automaticamente considerado o primeiro dia da semana. Se você quiser mudar isso, este parâmetro pode ser usado. Este argumento pode consistir em vbUseSystem 0.

Use a configuração da API NLS

vbSunday (padrão), vbSunday, vbT Terça, vbQuarta, vbTh Quinta vbFriday, vbSábado.
  • firstweekofyear: Da mesma forma que o parâmetro superior, este também é um parâmetro opcional. Isso descreve a primeira semana do ano. Este parâmetro também pode ser ignorado. Se este parâmetro for ignorado, ele assume que 1º de janeiro é a primeira semana do ano. Se você quiser mudar isso, este parâmetro pode ser usado.

    Este argumento pode consistir nos seguintes valores.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Depois de fornecer todos os parâmetros, Datepart () retornará o valor numérico, como data inteira ou ano ou mês ou trimestre, etc. Portanto, o tipo de retorno desta função será um valor numérico.

Como usar a função DatePart no VBA?

Você pode baixar este modelo VBA DatePart Excel aqui - modelo VBA DatePart Excel

Exemplo 1

O primeiro exemplo é exibir a data completa e também o trimestre daquele mês.

Para conseguir isso, precisamos escrever algum código em Visual Basic, para isso vá para a aba do desenvolvedor e clique em Visual Basic e então uma janela será aberta.

Nessa janela, escreva o código conforme mostrado abaixo.

Código:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'exibe Quarter End Sub 

Neste exemplo, usamos a função Datepart para exibir a data e alguma parte da data que é um quarto da data. Isso exibe em qual trimestre do ano está a data de entrada.

Se depurarmos o código, a data será exibida como data completa da primeira vez quando o código executar “Msgbox mydate” porque a data aleatória é atribuída à variável “mydate”.

A seguir, estamos exibindo a qual trimestre do ano essa data pertence.

Quando você executa o código manualmente ou usando a tecla de atalho F5, a data é exibida conforme mostrado após clicar em ok. Em seguida, o trimestre da data seria exibido, isso pode ser mostrado na imagem abaixo.

Da mesma forma, Trimestre, apenas data, mês ou ano também podem ser exibidos.

Exemplo # 2

Neste exemplo, irei inserir a data manualmente no tempo de execução.

Código:

Sub date1_datePart () Dim TodayDate As Date 'Declare variables. Dim Msg TodayDate = InputBox ("Insira uma data:") Msg = "Trimestre:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Aqui neste exemplo, estamos tentando obter a data manualmente no tempo de execução. O código “TodayDate = InputBox (“ Enter a date: ”)” nesta linha indica que a data pode ser inserida manualmente,

Após inserir a data manualmente, ele exibe o trimestre da data em uma caixa de mensagem. Isso pode ser mostrado na imagem abaixo.

Como o mês de junho está no 2º trimestre, é exibido o 2º trimestre, conforme mostrado na captura de tela acima.

Exemplo # 3

Neste exemplo, todos os valores serão preenchidos nas células.

Código:

 Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hour (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub 

As datas são preenchidas nas células da planilha excel, para isso o código é escrito como Active Sheet.cells. Por este código, a data que está presente pode ser ano mês ou a data pode ser inserida nas células fornecidas.

Por exemplo, na imagem acima,

O dia deve ser inserido nas células (2, 2) da planilha excel. Portanto, o código é escrito como “ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)“.

Execute o código usando a tecla F5 ou manualmente e o resultado seria o mostrado abaixo.

Por padrão, ele leva a data de hoje e é exibido como 30 na (2,6) célula.

Da mesma forma para todos os outros dados também pode ser preenchido.

Uso da função DatePart

  • A função DatePart pode ser usada para exibir a parte da data conforme o nome indica, ou seja, se apenas o dia, mês ou ano da data precisa ser exibido, esta função pode ser usada.
  • Esta função também separa a data, mês e ano de uma data específica.
  • Ao usar esta função, a data não é apenas separada, mas também podemos obter o trimestre, dia, hora, minuto e um segundo.

Coisas para lembrar

  • Esta função só pode ser usada como uma função VBA. No Excel normal, isso não pode ser usado.
  • As datas que são fornecidas como um valor nesta função podem ser fornecidas em qualquer formato, como formato mm-dd-aaaa ou formato DD-MM-AAAA etc.
  • Esta função irá separar todos os valores separadamente, como data, mês, ano ou hora e também hora, minuto, segundos.
  • Está organizado em Funções de data e hora no VBA do Microsoft Excel.