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.
Ad 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 seguente sintassi 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 essere d'accordo con i seguenti 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.
Esempio n. 1: trovare le differenze in giorni
Supponi di avere due date, "15-01-2018" e "15-01-2019". Troviamo tutti i tipi di differenze tra 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 fornisci l'argomento "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

Step 7: What is the first date to find the difference. Our first date is “15-01-2018” that we have already assigned to the variable “Date1”. So supply the variable name here.
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, End Sub

Step 8: What is the second date to find the difference. The second date is “15-01-2019,” which holds the value through variable “Date2”.
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) 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 the 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 one year, so we got 365 days as a 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 a look at the below homework for you. Find the difference between the below dates in “Months.”

Se non hai trovato la strada, di seguito trovi il codice già pronto per te.
Codice:
Assegnazione secondaria () Dim k As Long For k = da 2 a 8 celle (k, 3) .Value = DateDiff ("M", Cells (k, 1), Cells (k, 2)) Next k End Sub

Puoi eseguire questo codice manualmente o premere il tasto F5 per vedere il risultato.
