DateDiff Descrizione
Restituisce la differenza tra due valori di data, in base all'intervallo specificato.
Esempi semplici di DateDiff
Ecco un semplice esempio di DateDiff:
123 | Sub DateDiff_Year()MsgBox DateDiff("aaaa", #1/1/2019#, #8/1/2021#)Fine sottotitolo |
Questo codice restituirà 2. Questa è la differenza nell'anno (indicata da "aaaa") tra 2 giorni. (2021 - 2022 = 2)
Nell'esempio sopra, cambiando le posizioni di date1 e date2.
123 | Sub DateDiff_Year()MsgBox DateDiff("aaaa", #8/1/2021#, #1/1/2019#)Fine sottotitolo |
Questo codice restituirà -2.
Sintassi DateDiff
Nell'editor VBA, puoi digitare "DateDiff(" per vedere la sintassi per la funzione DateDiff:
La funzione DateDiff contiene 5 argomenti:
Intervallo: Unità di tempo (giorni, mesi, anni, ecc.). Inserisci come stringa. (es. “m” per Mese)
Collocamento | Descrizione |
---|---|
aaaa | Anno |
Q | Trimestre |
m | Mese |
sì | giorno dell'anno |
D | Giorno |
w | giorno della settimana |
ww | Settimana |
h | Ora |
n | Minuto |
S | Secondo |
Data1, Data2: Due date che vuoi utilizzare nel calcolo.
Primo giorno della settimana: Una costante che specifica il primo giorno della settimana. Questo è facoltativo. Se non specificato, si presume la domenica.
Costante | Valore | Descrizione |
---|---|---|
vbUseSystem | 0 | Utilizza l'impostazione dell'API NLS. |
vbdomenica | 1 | domenica (predefinito) |
vblunedì | 2 | lunedì |
vbmartedì | 3 | Martedì |
vbmercoledì | 4 | mercoledì |
vbgiovedì | 5 | giovedi |
vbvenerdì | 6 | venerdì |
vbsabato | 7 | il sabato |
Prima settimana dell'anno: Una costante che specifica la prima settimana dell'anno. Questo è facoltativo. Se non specificato, si presume che la prima settimana sia la settimana in cui si verifica il 1 gennaio.
Costante | Valore | Descrizione |
---|---|---|
vbUseSystem | 0 | Utilizza l'impostazione dell'API NLS. |
vbFirstJan1 | 1 | Inizia con la settimana in cui cade il 1 gennaio (impostazione predefinita). |
vbFirstFourDays | 2 | Inizia con la prima settimana che ha almeno quattro giorni nel nuovo anno. |
vbFirstFullWeek | 3 | Inizia con la prima settimana completa dell'anno. |
Programmazione VBA | Il generatore di codice funziona per te!
Esempi di funzione DateDiff VBA di Excel
Date di riferimento
Per iniziare, dimostreremo diversi modi per fare riferimento alle date utilizzando la funzione VBA DateDiff.
Ognuna di queste funzioni DateDiff produce lo stesso risultato:
123456789 | Sub DateDiff_ReferenceDates()MsgBox DateDiff("m", #4/1/2019#, #8/1/2021#)MsgBox DateDiff("m", DateSerial(2019, 4, 1), DateSerial(2021, 8, 1))MsgBox DateDiff("m", DateValue("1 aprile 2022"), DateValue("1 agosto 2022"))Fine sottotitolo |
Oppure puoi fare riferimento a celle contenenti date:
12345 | Sub DateDiff_ReferenceDates_Cell()MsgBox DateDiff("m", Range("C2").Value, Range("C3").Value)Fine sottotitolo |
Oppure crea e fai riferimento a variabili di data:
123456789 | Sub DateDiff_Variable()Dim dt1 come data, dt2 come datadt1 = #4/1/2019#dt2 = #8/1/2021#MsgBox DateDiff("m", dt1, dt2)Fine sottotitolo |
Stanco di cercare esempi di codice VBA? Prova AutoMacro!
Utilizzo di diverse unità di intervallo
quarti
123 | Sub DateDiff_Quarter()MsgBox "il numero di trimestri: " & DateDiff("q", #1/1/2019#, #1/1/2021#)Fine sottotitolo |
Mesi
123 | Sub DateDiff_Month()MsgBox "il numero di mesi: " & DateDiff("m", #1/1/2019#, #1/1/2021#)Fine sottotitolo |
giorni
123 | Sub DateDiff_Day()MsgBox "il numero di giorni: " & DateDiff("d", #1/1/2019#, #1/1/2021#)Fine sottotitolo |
Settimane
123 | Sub DateDiff_Week()MsgBox "il numero di settimane: " & DateDiff("w", #1/1/2019#, #1/1/2021#)Fine sottotitolo |
Ore
123456789101112 | Sub DateDiff_Hour()Dim dt1 come dataDim dt2 come dataDim nDiff As Longdt1 = #8/14/2019 9:30:00 AM#dt2 = #8/14/2019 13:00:00 PM#nDiff = DateDiff("h", dt1, dt2)MsgBox "ore: " & nDiffFine sottotitolo |
Minuti
123 | Sub DateDiff_Minute()MsgBox "mins: " & DateDiff("n", #8/14/2019 9:30:00 AM#, #8/14/2019 9:35:00 AM#)Fine sottotitolo |
Secondi
123 | Sub DateDiff_Second()MsgBox "secs: " & DateDiff("s", #8/14/2019 9:30:10 AM#, #8/14/2019 9:30:22 AM#)Fine sottotitolo |