Funzione DateDiff VBA

La funzione DATEDIFF in VBA è una funzione incorporata in VBA che è anche classificata nella funzione data e ora in VBA, questa funzione viene utilizzata per ottenere la differenza tra due date, questa funzione accetta tre argomenti il ​​primo argomento è quale parte della differenza che vogliamo che può essere anno giorni o mesi o secondi e due date e il risultato è un numero intero.

Funzione DATEDIFF in VBA

La funzione DATEDIFF in VBA calcola la differenza tra due date in giorni, mesi, trimestri e anni.

In Excel, trovare la differenza tra due date ha molti modi. Non è necessaria una formula speciale per calcolare la differenza tra due date.

Per un esempio guarda l'immagine qui sotto.

Se vogliamo calcolare la differenza tra queste due date possiamo semplicemente sottrarre la data 1 dalla data 2.

Ci ha dato la differenza tra due date in un numero di giorni. Questo è il problema con questa formula generica. Se abbiamo bisogno della differenza in mesi, anni, trimestri ecc ... non può dare.

In questo articolo, ti mostreremo come utilizzare questa funzione DateDiff in VBA.

Qual è la funzione DATEDIFF in Excel VBA?

DATEDIFF in VBA sta per "Differenza di data tra due date".

Questa funzione può darci il numero dell'intervallo di tempo tra due date. Quando vogliamo trovare la differenza tra due date, possiamo trovarla in giorni, settimane, mesi, trimestri, ecc.

Per capire la funzione, guarda la sintassi seguente della funzione.

Intervallo: questo non è altro che il modo in cui vuoi calcolare la differenza di data. Che si tratti di giorni, mesi, settimane, trimestri, ecc ... Di seguito è riportato l'elenco degli stessi.

Data 1: qual è la prima data in cui vuoi trovare la differenza.

Data 2: qual è la seconda data in cui vuoi trovare la differenza dalla data 1. Data 1: qual è la prima data in cui vuoi trovare la differenza.

Qui la formula è Data 2 - Data 1.

[Primo giorno della settimana]: qual è il primo giorno della settimana? Possiamo seguire gli argomenti.

[Prima settimana dell'anno]: qual è la prima settimana dell'anno. Possiamo inserire i seguenti argomenti.

Esempi di funzione DATEDIFF in Excel VBA

Di seguito sono riportati gli esempi di Excel VBA DateDiff.

Puoi scaricare questo modello di funzione DateDiff VBA qui - Modello di funzione DateDiff VBA

Esempio n. 1: trovare differenze in giorni

Supponi di avere due date "15-01-2018" e "15-01-2019". Troviamo tutti i tipi di differenze per queste due date.

Passaggio 1: creare prima un nome di macro.

Codice:

 Sub DateDiff_Example1 () End Sub 

Passaggio 2: definire due variabili come data.

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date End Sub 

Passaggio 3: ora per la variabile Date1 assegnare "15-01-2018" e per la variabile Date2 assegnare "15-01-2019".

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Passaggio 4: ora per memorizzare i risultati definire un'altra variabile come Long.

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Risultato As Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Passaggio 5: ora assegna il valore per questa variabile tramite la funzione DATEDIFF in VBA

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Risultato As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff (End Sub 

Passaggio 6: il primo argomento è quale tipo di differenza abbiamo bisogno tra queste due date. Supponiamo di dover trovare il numero di giorni, quindi fornire l'argomento come "D".

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", End Sub 

Passaggio 7: qual è il primo appuntamento per trovare la differenza. La nostra prima data è “15-01-2018” che abbiamo già assegnato alla variabile “Date1”. Quindi fornisci il nome della variabile qui.

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, End Sub 

Passaggio 8: qual è la seconda data per trovare la differenza. La seconda data è "15-01-2019" che contiene il valore tramite la variabile "Date2".

Codice:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, Date2) End Sub 

Step 9: Ignore the last two parameters. Now assign the value of variable “Result” through the VBA message box.

Code:

 Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("D", Date1, Date2) MsgBox Result End Sub 

Now run the code using F5 key or manually, we will get the difference between these two dates in a number of days.

So, from “15-01-2018” to 15-01-2019” the exact difference is 1 year, so we got 365 days as the result.

Like this, we can find the difference between two dates in time intervals.

Example #2 – To Find Difference in Months

Code:

 Sub DateDiff_Example2() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("M", Date1, Date2) MsgBox Result End Sub 

 

Run this code Using the F5 key or you can run manually to show the result as given below.

Example #3 – To Find Difference in Years

Code:

 Sub DateDiff_Example3() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("YYYY", Date1, Date2) MsgBox Result End Sub 

Run this code using the F5 key or manually to see the result.

Assignment as a Practice

I hope you have understood the function of VBA DATEDIFF. Take look at the below homework for you. Find the difference between the below dates in “Months”.

If you have not found the way below is the readymade code for you.

Code:

 Sub Assignment() Dim k As Long For k = 2 To 8 Cells(k, 3).Value = DateDiff("M", Cells(k, 1), Cells(k, 2)) Next k End Sub 

You can run this code manually or press the F5 key to see the result.