Funzione DateSerial VBA - Come utilizzare la funzione DateSerial? (Esempi)

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 numeri interi, 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 seguenti.

  • 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 è maggiore di 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 seguenti.

  • 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 +1 per l'ultimo giorno di questo mese, questo rappresenterà il primo giorno del mese successivo. Ad esempio, se l'ultimo giorno di agosto è 31 e se specifichi il giorno 31 + 1, rappresenterà il primo giorno di settembre.

Come utilizzare la funzione DATESERIAL in VBA?

Esempio 1

Per utilizzare la funzione DATESERIAL, inizia 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, assegna 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 è il seguente.

Esempio n. 2

Possiamo anche dichiarare variabili e fornire i valori a tali variabili. Ad 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, "DD-MMY-YY ") End Sub

Instead of supplying year, month, and day directly to the DATESERIAL function, we have declared variables and assigned values to them. Then later, we have supplied variables to the DATESERIAL function.

This is how we can make use of variables in VBA to store values.

Example #3

Now we will experiment with the year. I will assign the year value as 1 and see the result.

Single & Double-digit numbers in YEAR represents a year from 1930 to 2029. So 01 means 2001, 02 means 2002, and so on.

Now let’s change the month number to 0 and see the result.

Look at the code here, Year is 2019, and the month is 0. But look at the result it says 05-Dec-2019, whereas a supplied year is 2019 it says 2018 i.e., the previous year.

Questo perché poiché abbiamo fornito il mese come 0, la funzione DATESERIAL porta il mese all'ultimo mese dell'anno precedente e cambia anche l'anno di conseguenza.

In questo modo, prova numeri diversi per vedere l'impatto della funzione.

Cose da ricordare

  • Devi sapere quale numero rappresenta l'anno, il mese e l'asilo nido. Leggere attentamente la spiegazione della sintassi per capire.
  • Il risultato sarà basato sul formato della data del tuo sistema. Se si desidera un risultato modificato, è necessario applicare la funzione FORMAT menzionando il formato della data secondo la propria convenienza.

Articoli interessanti...