Funzione DateDiff in VBA di Excel

La funzione VBA Datediff fornisce la differenza tra due intervalli specificati. Qui, l'intervallo può essere specificato come ore / mesi / giorni … ecc. Come specificato dall'utente. È una funzione integrata in Excel e classificata come funzione " Data / Ora ". Può essere usato come una funzione " VBA " in Excel.

Sintassi :

Parametro o argomenti utilizzati nella funzione DateDiff.

1. Intervallo:

  • È obbligatorio.
  • Tipo: - Espressione del tipo di stringa.
  • Calcola la differenza tra le due date.
Ambito (intervallo) Descrizione / Spiegazione
"S" secondi
“N” Minuti
“H” Ore
“D” giorni
“W” giorno feriale
“M” mesi
“Ww” Settimana
“Y” Giorno dell'anno
“Q” Trimestre
“Aaaa” Anno

2. Data1:

  • È obbligatorio.
  • Tipo: - Data.
  • Rappresenta la data / ora di inizio per il calcolo di Dateiff.

3. Data2:

  • È obbligatorio.
  • Tipo: - Data.
  • Rappresenta la data / ora di fine per il calcolo di Dateiff.

4. Primo giorno della settimana:

  • È facoltativo
  • Digitare: - Numerico o Testo.
  • Specifica il giorno utilizzato come primo giorno della settimana.
  • Se questo argomento o parametro viene omesso, presuppone che domenica (VbSunday) sia il primo giorno della settimana.

5. Prima settimana dell'anno

  • È facoltativo
  • Digitare: - Numerico o Testo.
  • Specifica il giorno utilizzato come prima settimana dell'anno.
  • Se questo argomento o parametro viene omesso, assume il 1 ° gennaio (vbFirstJan1) come prima settimana dell'anno.

Come abilitare la scheda sviluppatore in Excel?

La scheda sviluppatore è obbligatoria sulla barra multifunzione di Excel per avviare e scrivere macro VBA. Di seguito sono riportati i diversi passaggi per abilitare la scheda sviluppatori in Excel VBA:

Passaggio 1: vai alla scheda del menu File .

Passo 2: Nel menu File, fai clic su Opzioni situate nell'ultimo elenco delle opzioni disponibili nel menu.

Passaggio 3: fare clic su Personalizza barra multifunzione per accedere alle opzioni di personalizzazione della barra multifunzione.

Passaggio 4: qui nelle opzioni di personalizzazione, è possibile visualizzare l'opzione Sviluppatore . Seleziona, in modo che venga attivato sulla barra multifunzione di Excel e sia facilmente accessibile. Fai clic su OK dopo aver selezionato l'opzione Sviluppatore.

Non appena si preme OK, è possibile visualizzare la scheda Sviluppatore attiva nel menu della barra multifunzione di Excel con una serie di diverse opzioni disponibili in. Vedi lo screenshot qui sotto.

Come utilizzare la funzione DateDiff in Excel VBA?

Di seguito sono riportati i diversi passaggi per utilizzare la funzione DateDiff in VBA di Excel:

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

Esempio 1

In questo esempio, attenersi alla seguente procedura per utilizzare la funzione DateDiff in VBA:

Passaggio 1: creare innanzitutto un nome macro.

Codice:

 Sub bb () End Sub 

Passaggio 2: due variabili sono definite come data e data assegnata a loro.

Codice:

 Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # End Sub 

Passaggio 3: scrivere la sintassi della funzione Datediff prendendo l'argomento richiesto e assegnare lo stesso tramite la finestra di messaggio VBA.

Codice:

 Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Passaggio 4: eseguire il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci. In modo che il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 2

Nell'esempio seguente, la funzione Dateiff calcola il numero di anni tra le due date "09/06/2016" e "16/12/2020". Qui, i parametri opzionali non vengono presi in considerazione.

Codice:

 Sub AA () 'Differenza anno MsgBox DateDiff ("yyyy", "09/06/2016", "16/12/2020") End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 3

Nell'esempio seguente, la funzione Dateiff calcola il numero di mesi tra le due date "09/06/2016" e "16/12/2020". Qui, i parametri opzionali non vengono presi in considerazione.

Codice:

 MsgBox DateDiff differenza AA1 () 'mensile ("m", "09/06/2016", "16/12/2020") End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 4

Nell'esempio seguente, la funzione Dateiff calcola il numero di settimane tra le due date "09/06/2016" e "16/12/2020". Qui, i parametri opzionali non vengono presi in considerazione.

Codice:

 MsgBox DateDiff differenza di settimane AA2 () 'secondario ("ww", "09/06/2016", "16/12/2020") End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 5

Nell'esempio che segue, la funzione " Dateiff " calcola il numero di trimestri tra le due date "09/06/2016" e "16/12/2020". Qui, i parametri opzionali non vengono presi in considerazione.

Codice:

 MsgBox DateDiff differenza AA3 () 'sub-trimestre ("q", "09/06/2016", "16/12/2020") End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 6

Nell'esempio che segue, la funzione " Dateiff " calcola il numero di giorni tra le due date "09/06/2016" e "16/12/2020". Qui, i parametri opzionali non vengono presi in considerazione.

Codice:

 Differenza giorni sub AA4 () 'MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 7

Nell'esempio che segue, la funzione " datata " calcola il numero di ore tra le due date e le ore "9:00 il 01/01/2010 " e "11:00 il 19/04/2010".

Codice:

 Sub bb1 () 'Calcola il numero di ore tra l'1 / 1/09 9:00 e il 19/04/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/2010 / 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 8

Nell'esempio che segue, la funzione " datata " calcola il numero di secondi tra le due date e le ore "9:00 il 01/01/2010 " e "11:00 il 19/04/2019".

Codice:

 Sub bb2 () 'Calcola il numero di secondi tra l'1 / 1/09 9:00 e il 19/04/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/2010 / 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 9

Nell'esempio che segue, la funzione " datata " calcola il numero di minuti tra le due date e le ore "9:00 il 01/01/2010 " e "11:00 il 19/04/2019".

Codice:

 Sub bb3 () 'Calcola il numero di minuti tra il 01/01/2010 alle 9:00 e il 19/04/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/2010 / 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 10

Se l'argomento è specificato come "w" (settimane), la funzione "Datediff" restituisce il numero dell'intera settimana tra le due date. Le settimane parziali vengono ignorate. Nell'esempio, la funzione " DateDiff " calcola il numero di intere settimane tra le date 01/01/2010 e 19/4/2019.

Codice:

 Sub bb4 () 'Calcola il numero di settimane tra il 01/01/2010 e il 19/04/2010 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 11

Se l'argomento è specificato come "ww" (settimane di calendario), la funzione "Datediff" fornisce il numero di settimane tra l'inizio della settimana contenente Date1 e l'inizio della settimana contenente Date2.

Codice:

 Sub bb5 () 'Calcola il numero di settimane di calendario tra il 01/01/2010 e il 19/04/2019' Primo giorno della settimana = lunedì Dim dt1 come data Dim dt2 come data dt1 = # 1/2010/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Esempio n. 12

Nell'esempio che segue, la funzione "datata" viene utilizzata per le date "1/1/1990" e "1/1/1998"

Codice:

 Sub cc () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 AM # MsgBox ("line 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("line 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("line 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("riga 4:" e DateDiff ("d", dt1, dt2)) MsgBox ("riga 5:" e DateDiff ("m", dt1, dt2)) MsgBox ("riga 6:" e DateDiff ("q", dt1, dt2)) MsgBox ("riga 7:" e DateDiff ("w", dt1, dt2)) MsgBox ("riga 8:" e DateDiff ("ww", dt1, dt2)) MsgBox ("riga 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" riga 10: "& DateDiff (" yyyy ", dt1, dt2)) End Sub 

Per eseguire il programma premere la scheda " F8 " o " Esegui ". Il risultato verrà visualizzato nella finestra di messaggio.

Quindi, fare clic su " Ok " per ottenere il risultato successivo.

Conclusione

La funzione " DateDiff " aiuta quindi a determinare quanti intervalli di tempo specificati esistono tra due date e orari specificati.

Articoli consigliati

Questa è una guida a VBA DateDiff. Qui discutiamo come usare la funzione DateDiff in Excel VBA insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA Declare Array (esempi)
  2. Guida completa a VBA in caso di errore
  3. Metodo di foglio Unprotect in VBA
  4. Colonne VBA | Modello di Excel
  5. VBA Environ

Categoria: