Funció VBA DateSerial | Com s'utilitza la funció DateSerial? (Exemples)

Funció DateSerial d'Excel VBA

Funció DateSerial a VBA retorna la data dels valors proporcionats pels usuaris. Hem de subministrar quin és l'any, quin és el dia i quin és el mes. El resultat es basarà en el format de data del vostre sistema.

A continuació es mostra la sintaxi del fitxer Funció DATESERIAL.

#1 any: hem d’introduir el nombre enter com quin és l’any? Mentre proporcionem un nombre enter, hem de tenir en compte les coses.

  • Podem subministrar números del 0 al 9999.
  • Els números d’un i dos dígits del 0 al 99 es tractaran del 1930 al 2029.
  • El nombre enter negatiu es restarà de l'any 2000. Per exemple, si proporcioneu -1, el resultat serà el 1999 a causa de 2000 - 1 = 1999.

# 2 - Mes: hem d’introduir el nombre enter com a quin mes és? En introduir aquest número, hem de tenir en compte les coses a sota.

  • Només podem subministrar números de l’1 al 12.
  • Si el valor enter subministrat és 0, llavors representarà el mes "desembre" de l'any anterior.
  • Si el valor enter subministrat és -1, representarà el mes de "novembre" de l'any anterior. Així, quan el valor negatiu augmenta, continuarà representant el mes de l'any enrere.
  • Si el número subministrat és superior a 12, és a dir, si el número és 13, llavors representarà el mes "gener" de l'any següent, si el número és 14, es tractarà com el mes "febrer" de l'any següent.

# 3 - Dia: hem d’introduir el nombre sencer com és el dia? En introduir aquest número, hem de tenir en compte les coses a sota.

  • Podem introduir números enters de l’1 al 31 per als dies del mes actual.
  • Si el número és 0, representarà l'últim dia del mes anterior.
  • Si el número és -1, representarà el segon darrer dia del mes anterior.
  • Si proporcioneu l'últim dia d'aquest mes +1, representarà el primer dia del mes següent. Per exemple, si l'últim dia d'agost és el 31 i si el dia el proporcioneu com a 31 + 1, representarà el primer dia de setembre.

Com s'utilitza la funció DATESERIAL a VBA?

Podeu descarregar aquesta plantilla VBA DateSerial Excel aquí: plantilla VBA DateSerial Excel

Exemple 1

Per utilitzar la funció DATESERIAL, comenceu a escriure el codi macro.

Pas 1: Inicieu el subprocediment

En primer lloc, creeu un subprocés VBA com es mostra a continuació.

Pas 2: declaració de variable

Ara declareu una variable com a DATE.

Pas 3: assigneu la funció DateSerial a aquesta variable.

Ara, per a aquesta variable assigneu la funció DATESERIAL.

Pas 4: introduïu els valors de l'any, mes i dia a la funció DateSerial

Per al subministrament de YEAR 2019, per al subministrament del MES 08 i per al subministrament del DIA 05.

Pas 5: mostra el resultat al quadre de missatges

Ara mostreu el resultat de la variable "La meva data" al quadre de missatges.

Codi:

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

Pas 6: executeu el codi

Ara executeu aquest codi per veure el següent a la data.

El resultat diu "5/5/2019". Al meu sistema, el format de data té la forma "MM-DD-AAAA", per això el resultat també té el mateix format.

També podem canviar el format de la data mitjançant la funció FORMAT a VBA. Apliqueu la funció FORMAT com la següent.

Codi:

 Opció Explicit Sub DateSerial_Example1 () Atenueu Mydate com Data Mydate = DateSerial (2019, 8, 5) Format MsgBox (Mydate, "DD-MMM-YYYY") End Sub 

S'aplicarà el format en "DD-MMM-AAAA" i el resultat és el següent.

Exemple 2

També podem declarar variables i proporcionar-los els valors. Per obtenir un exemple, mireu el codi següent.

Codi:

 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) Format MsgBox (Mydate, "DD-MMM-YY ") Final Sub 

En lloc de proporcionar any, mes i dia directament a la funció DATESERIAL, hem declarat variables i els hem assignat valors. Després, hem proporcionat variables a la funció DATESERIAL.

Així podem fer ús de variables a VBA per emmagatzemar valors.

Exemple 3

Ara experimentarem amb l'any. Assignaré el valor de l'any com a 1 i veuré el resultat.

Els números d'un i dos dígits a YEAR representen un any del 1930 al 2029. Per tant, 01 significa 2001, 02 significa 2002, etc.

Ara canviem el número del mes a 0 i en veiem el resultat.

Mireu el codi aquí, l'any és 2019 i el mes és 0. Però mireu el resultat que diu el 5 de desembre de 2019, mentre que un any subministrat és el 2019, diu 2018, és a dir, l'any anterior.

Això és degut a que, ja que hem subministrat el mes com a funció 0 DATESERIAL, el mes ocupa el darrer mes de l'any anterior i també canvia l'any en conseqüència.

Així, proveu números diferents per veure l'impacte de la funció.

Coses que cal recordar

  • Heu de saber quin número representa quin any, mes i guarderia. Llegiu acuradament l’explicació de la sintaxi per entendre-la.
  • El resultat es basarà en el format de data del vostre sistema; si voleu un resultat modificat, haureu d’aplicar la funció FORMAT per esmentar el format de data segons la vostra conveniència.