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 ExcelExemple 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.