VBA DateSerial

Função Excel VBA DateSerial

A função DateSerial no VBA retorna a data dos valores fornecidos pelos usuários. Precisamos fornecer qual é o ano, qual é o dia e qual é o mês. O resultado será baseado no formato de data do seu sistema.

Abaixo está a sintaxe da função DATESERIAL .

# 1 - Ano: precisamos inserir o número inteiro, pois qual é o ano? Ao fornecer um número inteiro, precisamos manter as coisas abaixo em mente.

  • Podemos fornecer números de 0 a 9999.
  • Números de um e dois dígitos de 0 a 99 serão tratados de 1930 a 2029.
  • O número inteiro negativo será subtraído do ano 2000. Por exemplo, se você fornecer -1, o resultado será 1999 devido a 2000 - 1 = 1999.

# 2 - Mês: precisamos inserir o número inteiro, pois qual é o mês? Ao inserir esse número, precisamos ter em mente os itens abaixo.

  • Podemos fornecer números de 1 a 12 apenas.
  • Se o valor inteiro fornecido for 0, isso representará o mês “dezembro” do ano anterior.
  • Se o valor inteiro fornecido for -1, isso representará o mês “novembro” do ano anterior. Assim, quando o valor negativo aumentar, ele continuará representando o mês do ano atrasado.
  • Se o número fornecido for superior a 12, ou seja, se o número for 13, isso representará o mês “janeiro” do ano seguinte; se o número for 14, será tratado como o mês “fevereiro” do ano seguinte.

# 3 - Dia: precisamos inserir o número inteiro, pois qual é o dia? Ao inserir esse número, precisamos ter em mente os itens abaixo.

  • Podemos inserir números inteiros de 1 a 31 para os dias do mês atual.
  • Se o número for 0, ele representará o último dia do mês anterior.
  • Se o número for -1, ele representará o penúltimo dia do mês anterior.
  • Se você fornecer o último dia deste mês +1, isso representará o primeiro dia do mês seguinte. Por exemplo, se o último dia de agosto for 31 e você fornecer o dia como 31 + 1, ele representará o primeiro dia de setembro.

Como usar a função DATESERIAL no VBA?

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

Exemplo 1

Para usar a função DATESERIAL, comece a escrever o código da macro.

Etapa 1: iniciar o subprocedimento

Primeiro, crie um subprocedimento VBA conforme mostrado abaixo.

Etapa 2: Declarar Variável

Agora declare uma variável como DATE.

Etapa 3: atribua a função DateSerial a essa variável.

Agora, para esta variável, atribua a função DATESERIAL.

Etapa 4: agora insira os valores de ano, mês e dia na função DateSerial

Para fornecimento ANO 2019, para fornecimento MÊS 08 e para fornecimento DIA 05.

Etapa 5: mostrar o resultado na caixa de mensagem

Agora mostre o resultado da variável “Minha data” na caixa de mensagem.

Código:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub 

Etapa 6: execute o código

Agora execute este código para ver a data abaixo.

O resultado mostra “8/5/2019”. No meu sistema, o formato de data é “MM-DD-AAAA”, por isso o resultado também está no mesmo formato.

Também podemos alterar o formato da data usando a função FORMAT no VBA. Aplique a função FORMAT como a seguir.

Código:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") End Sub 

Isso aplicará o formato em “DD-MMM-AAAA” e o resultado será o seguinte.

Exemplo # 2

Também podemos declarar variáveis ​​e fornecer os valores a essas variáveis. Para obter um exemplo, veja o código abaixo.

Código:

 Sub DateSerial_Example2 () Dim Mydate As Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) Formato MsgBox (Mydate, "DD-MMYY ") End Sub 

Em vez de fornecer ano, mês e dia diretamente para a função DATESERIAL, declaramos variáveis ​​e atribuímos valores a elas. Então, mais tarde, fornecemos variáveis ​​para a função DATESERIAL.

É assim que podemos usar variáveis ​​no VBA para armazenar valores.

Exemplo # 3

Agora vamos fazer experiências com o ano. Atribuirei o valor do ano como 1 e verei o resultado.

Números de um e dois dígitos em ANO representam um ano de 1930 a 2029. Portanto, 01 significa 2001, 02 significa 2002 e assim por diante.

Agora vamos mudar o número do mês para 0 e ver o resultado.

Veja o código aqui, o ano é 2019 e o mês é 0. Mas veja o resultado que diz 05-dez-2019, enquanto um ano fornecido é 2019 diz 2018, ou seja, ano anterior.

Isso ocorre porque, como fornecemos o mês como 0, a função DATESERIAL leva o mês para o último mês do ano anterior e altera o ano também de acordo.

Assim, experimente números diferentes para ver o impacto da função.

Coisas para lembrar

  • Você precisa saber qual número representa qual ano, mês e creche. Leia a explicação da sintaxe com atenção para entender.
  • O resultado será baseado no formato de data de seu sistema, se você quiser um resultado modificado, então você precisa aplicar a função FORMAT e mencionar o formato de data de acordo com sua conveniência.