DateSerial VBA

Funzione DateSerial VBA di Excel

La funzione DateSerial in VBA restituisce la data dai valori forniti dagli utenti. Dobbiamo fornire qual è l'anno, qual è il giorno e qual è il mese. Il risultato sarà basato sul formato della data del tuo sistema.

Di seguito è riportata la sintassi della funzione DATESERIAL .

# 1 - Anno: dobbiamo inserire il numero intero come qual è l'anno? Pur fornendo un numero intero, dobbiamo tenere a mente le cose seguenti.

  • Possiamo fornire numeri da 0 a 9999.
  • I numeri a una e due cifre da 0 a 99 verranno trattati dal 1930 al 2029.
  • Il numero intero negativo verrà sottratto dall'anno 2000. Ad esempio, se fornisci -1, il risultato sarà 1999 perché 2000 - 1 = 1999.

# 2 - Mese: dobbiamo inserire il numero intero come qual è il mese? Durante l'immissione di questo numero dobbiamo tenere a mente le cose di seguito.

  • Possiamo fornire solo numeri da 1 a 12.
  • Se il valore intero fornito è 0, questo rappresenterà il mese "Dicembre" dell'anno precedente.
  • Se il valore intero fornito è -1, questo rappresenterà il mese "novembre" dell'anno precedente. In questo modo, quando il valore negativo aumenta, continuerà a rappresentare il mese dell'anno precedente.
  • Se il numero fornito è superiore a 12, ovvero se il numero è 13, questo rappresenterà il mese "gennaio" dell'anno successivo, se il numero è 14 verrà considerato come il mese "febbraio" dell'anno successivo.

# 3 - Giorno: dobbiamo inserire il numero intero come qual è il giorno? Durante l'immissione di questo numero dobbiamo tenere a mente le cose di seguito.

  • Possiamo inserire numeri interi da 1 a 31 per i giorni del mese corrente.
  • Se il numero è 0, rappresenterà l'ultimo giorno del mese precedente.
  • Se il numero è -1, rappresenterà il penultimo giorno del mese precedente.
  • Se fornisci l'ultimo giorno di questo mese +1, questo rappresenterà il primo giorno del mese successivo. Ad esempio, se l'ultimo giorno di agosto è 31 e se fornisci il giorno 31 + 1, rappresenterà il primo giorno di settembre.

Come utilizzare la funzione DATESERIAL in VBA?

Puoi scaricare questo modello Excel VBA DateSerial qui - Modello Excel VBA DateSerial

Esempio 1

Per utilizzare la funzione DATESERIAL iniziare a scrivere il codice della macro.

Passaggio 1: avviare la procedura secondaria

Innanzitutto, crea una sottoprocedura VBA come mostrato di seguito.

Passaggio 2: dichiara la variabile

Ora dichiara una variabile come DATE.

Passaggio 3: assegnare la funzione DateSerial a quella variabile.

Ora per questa variabile assegnare la funzione DATESERIAL.

Passaggio 4: ora inserisci i valori di anno, mese e giorno nella funzione DateSerial

Per la fornitura ANNO 2019, per la fornitura MESE 08 e per la fornitura GIORNO 05.

Passaggio 5: mostra il risultato nella finestra dei messaggi

Ora mostra il risultato della variabile "La mia data" nella finestra del messaggio.

Codice:

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

Passaggio 6: eseguire il codice

Ora esegui questo codice per vedere sotto la data.

Il risultato dice "8/5/2019". Nel mio sistema il formato della data è nella forma "MM-GG-AAAA", quindi è per questo che anche il risultato è nello stesso formato.

Possiamo anche modificare il formato della data utilizzando la funzione FORMAT in VBA. Applica la funzione FORMAT come di seguito.

Codice:

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

Questo applicherà il formato in "GG-MMM-AAAA" e il risultato sarà il seguente.

Esempio n. 2

Possiamo anche dichiarare variabili e fornire i valori a tali variabili. Per un esempio, guarda il codice seguente.

Codice:

 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, "GG-MM-AA ") End Sub 

Invece di fornire anno, mese e giorno direttamente alla funzione DATESERIAL, abbiamo dichiarato variabili e assegnato loro dei valori. Successivamente, abbiamo fornito le variabili alla funzione DATESERIAL.

È così che possiamo utilizzare le variabili in VBA per memorizzare i valori.

Esempio n. 3

Ora sperimenteremo l'anno. Assegnerò il valore dell'anno come 1 e vedrò il risultato.

I numeri a una o due cifre in YEAR rappresentano un anno dal 1930 al 2029. Quindi 01 significa 2001, 02 significa 2002 e così via.

Ora cambiamo il numero del mese in 0 e vediamo il risultato.

Guarda il codice qui, l'anno è il 2019 e il mese è 0. Ma guarda il risultato che dice 05-dic-2019, mentre un anno fornito è il 2019 che dice 2018 cioè l'anno precedente.

This is because since we have supplied the month as 0 DATESERIAL function takes the month to last month of the previous year and change the year also accordingly.

Like this try different numbers to see the impact of the function.

Things to Remember

  • You need to know what number represents which year, month, and daycare. Read Syntax explanation carefully to understand.
  • The result will be based on the date format of your system, if you want modified result then you need to apply FORMAT function mention the date format as per your convenience.