Excel VBA DateAdd

VBA DateAdd è una funzione che esegue l'aggiunta o la sottrazione di intervalli di ora / data. Ciò restituirà la data aggiungendo o sottraendo un intervallo di tempo specificato. È abbastanza difficile gestire la data e l'ora quando si eseguono alcuni calcoli. Ma nel nostro lavoro quotidiano, è un tipo essenziale di dati che possiamo usare. Confronto, aggiunta, sottrazione tra date diverse sono alcune operazioni familiari che facciamo.

Formula per la funzione DateAdd in Excel VBA

La formula per la funzione VBA DateAdd è molto semplice nel formato.

Vediamo quali sono i parametri utilizzati nella funzione DateAdd VBA di Excel.

  • Intervallo: questo può essere un intervallo di data / ora che si desidera aggiungere o sottrarre. Questo rappresenta il tipo di valore che desideri aggiungere o sottrarre. Questo può essere un componente di data o ora come giorni, mese, ecc. L'ambito degli intervalli è indicato di seguito.

  • Numero: il numero di intervalli che si desidera aggiungere. Utilizzare un numero positivo per aggiungere l'intervallo con la data specificata e il valore negativo per sottrarre l'intervallo dalla data.
  • Data : la data in cui si desidera aggiungere / sottrarre l'intervallo. Le operazioni verranno eseguite a questa data e alla data di ritorno come output.

Esempi di funzione DataAdd di Excel VBA

Di seguito sono riportati i diversi esempi della funzione DateAdd in Excel VBA:

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

Esempio n. 1 - Aggiungi data

Vediamo come aggiungere un determinato numero con la data indicata usando la funzione VBA DateAdd.

  • Dobbiamo trovare la data dopo aver aggiunto '10' giorni con la data '25 / 10/2015 '
  • Avvia la procedura secondaria con un nome. Qui abbiamo creato una sotto-procedura chiamata 'adddate'.

Codice:

 Sub adddate () End Sub 

  • Crea una variabile come data datatype, il nome della variabile è currentdate.

Codice:

 Sub adddate () Dim currentdate As Date End Sub 

  • Memorizzeremo il risultato in questa variabile currentdate.
  • Vogliamo aggiungere "10" giorni con "25/10/2015". Quindi il numero di giorni che si desidera aggiungere è 10. E l'intervallo è 'd' e il numero è 10.
  • Quindi applichiamo la funzione VBA DateAdd come di seguito.

Codice:

 Sub adddate () Dim currentdate As Date currentdate = DateAdd ("d", 10, "25/10/2015") End Sub 

  • Dopo aver applicato la formula alla variabile, usiamo una finestra di messaggio per stampare il risultato.

Codice:

 Sub adddate () Dim currentdate As Date currentdate = DateAdd ("d", 10, "25/10/2015") Formato MsgBox (currentdate, "dd-mm-yyyy") End Sub 

  • Esegui il codice premendo F5. Il risultato verrà mostrato come

Puoi vedere il risultato come mostrato sopra.

Esempio n. 2 - Aggiungi mesi

  • Per aggiungere mesi con la data indicata, l'intervallo deve cambiare come "m".
  • Aggiungi "2" con la data "15/2/2017". Il codice può essere scritto come di seguito.

Codice:

 Addmonth secondario () Dim currentdate As Date currentdate = DateAdd ("m", 2, "15/2/2017") Formato MsgBox (currentdate, "dd-mm-yyyy") End Sub 

  • La data di uscita verrà modificata come di seguito.

Esempio n. 3 - Aggiungi anno

Per aggiungere anni con la data indicata è possibile utilizzare il codice seguente.

  • L'intervallo dovrebbe essere "yyyy"
  • Aggiungi 4 anni con '20 / 2/2018 '

Codice:

 Add addear () Dim currentdate As Date currentdate = DateAdd ("yyyy", 4, "20/2/2018") Formato MsgBox (currentdate, "dd-mm-yyyy") End Sub 

  • Il risultato sarà come sotto. La data corrente variabile restituirà '20 / 2/2022 '

Esempio n. 4 - Aggiungi quarto

  • Durante l'aggiunta del trimestre, tre mesi verranno aggiunti alla data dal trimestre se 12 mesi sono 3.
  • L'intervallo dovrebbe essere indicato come "Q", il numero indicato nella formula specifica quanti quarti devono essere aggiunti. Ad esempio, il numero di trimestri DateAdd (“Q”, 2, ”22/5/2019”) è 2, quindi verranno aggiunti 6 mesi.
  • Per aggiungere 2 trimestri con '22 / 5/2018 'sotto il codice può essere utilizzato.

Codice:

 Sub addquarter () Dim currentdate As Date currentdate = DateAdd ("Q", 2, "22/5/2019") Formato MsgBox (currentdate, "dd-mm-yyyy") End Sub 

  • Il risultato sarà come sotto.

Esempio n. 5 - Aggiungi secondi

  • È possibile aggiungere l'ora insieme alla data visualizzata. Per ottenere questo menzionare l'intervallo come "s" che indica i secondi.
  • Per visualizzare cinque secondi con la data '28 / 3/2019 'è possibile utilizzare la formula seguente.

Codice:

 Sottotitoli secondari () Dim currentdate As Date currentdate = DateAdd ("s", 5, "28/3/2019") Formato MsgBox (currentdate, "dd-mm-yyyy hh: mm: ss") End Sub 

  • Durante la visualizzazione dell'output con data verranno visualizzati i secondi.

Esempio n. 6 - Aggiungi settimane

  • Per aggiungere un numero di settimane con la data specificata, utilizzare l'intervallo come "WW"
  • Codice per trovare la data successiva a un determinato numero di settimane a partire da "27/03/2016"

Codice:

 Sub addweek () Dim currentdate As Date currentdate = DateAdd ("WW", 2, "27/3/2019") Formato MsgBox (currentdate, "dd-mm-yyyy") End Sub 

  • L'output sarà la data dopo 2 settimane.

Esempio n. 7 - Aggiungi ore

  • Per ottenere un orario particolare con una data, questo viene utilizzato.
  • Nell'intervallo menzionare la "h" e anche cambiare il formato dell'output.
  • Il codice per ottenere le ore stampate con una data è.

Codice:

 Sub addhour () Dim currentdate As Date currentdate = DateAdd ("h", 12, "27/3/2019") Formato MsgBox (currentdate, "dd-mm-yyyy hh: mm: ss") End Sub 

  • Il risultato verrà mostrato con il tempo in hh: mm: ss.

Esempio n. 8: come sottrarre le settimane usando la funzione VBA DateAdd?

Analogamente all'aggiunta, anche la sottrazione può essere eseguita utilizzando la funzione VBA DateAdd. I numeri specificati come numeri interi positivi insieme alla formula. Per eseguire la sottrazione, utilizzare questi numeri come numeri interi negativi. Ad esempio, modifica la formula come di seguito.

 DateAdd (intervallo, - numero, data) 

Utilizzando il metodo sopra tenterà di trovare il giorno sottraendo tre settimane dal '28 / 3/2019 '

  • Creare una sottoprocedura come data secondaria.

Codice:

 Sottotitolo secondario () Sottotitolo 

  • Definire una variabile per memorizzare il risultato. Currentdate è una variabile come tipo di data per assegnare il risultato finale.

Codice:

 Sub subdate () Dim currentdate As Data Fine Sott 

  • Per sottrarre tre settimane dal '28 / 3/2019 'si applica la formula. DateAdd (“ww”, -3, “28/3/2019”)

Codice:

 Sub subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") End Sub 

'-3' indica che la sottrazione “ww” è l'intervallo poiché vogliamo operare su settimane.

  • La formula viene applicata e il risultato viene archiviato in currentdate.

Codice:

 Sub subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") Formato MsgBox (currentdate, "dd-mm-yyyy") End Sub 

  • Il risultato dopo aver sottratto tre settimane dalla data indicata è visualizzato di seguito.

Cose da ricordare

  • L'intervallo e la data indicati nella formula verranno indicati tra virgolette doppie.
  • Se usi l'intervallo nei giorni feriali "w" funzionerà in modo simile al giorno dell'intervallo "d" poiché il giorno della settimana calcola 1 = domenica, 2 = lunedì, ecc. In Quindi conterà i giorni festivi anche se utilizzi i giorni feriali.
  • L'output verrà visualizzato in base alle impostazioni del formato della data sul sistema. Utilizzare il formato insieme a una finestra di messaggio per stampare il risultato nel formato desiderato.
  • All'interno della funzione VBA DateAdd utilizzare il numero come negativo per eseguire la sottrazione tra le date.

Articoli consigliati

Questa è una guida alla funzione DateAdd VBA di Excel. Qui discutiamo gli esempi della funzione VBA DateAdd per aggiungere e sottrarre giorni, mesi e anni dalla data indicata insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Come utilizzare la funzione data in VBA?
  2. Formato data in Excel VBA
  3. Cos'è VBA Time in Excel?
  4. Formula della data in Excel con esempi

Categoria: