Ciao.
Esiste la funzione "DateAdd" di cui ti posto direttamente da MSDN:
Funzione DateAdd
Restituisce un valore Variant (Date) contenente una data alla quale è stato aggiunto un intervallo di tempo specificato.
Sintassi
DateAdd(interval, number, date)
La sintassi della funzione DateAdd è composta dai seguentiargomenti predefiniti:
Parte Descrizione
interval Obbligatoria.Espressione stringa corrispondente all'intervallo di tempo che si desidera aggiungere.
number Obbligatoria.Espressione numerica corrispondente al numero di intervalli da aggiungere. Può essere positiva, per ottenere date future, oppure negativa, per ottenere date passate.
date Obbligatoria. Valore Variant (Date) o stringa che rappresenta una data a cui viene aggiunto l'intervallo.
Impostazioni
Le possibili impostazioni dell’argomento interval sono:
Impostazione Descrizione
yyyy Anno
q Trimestre
m Mese
y Giorno dell’anno
d Giorno
w Giorno della settimana
ww Settimana
h Ora
n Minuti
s Secondi
Osservazioni
La funzione DateAdd consente di aggiungere o sottrarre da una data un intervallo di tempo specificato. È, ad esempio, possibile utilizzare DateAdd per determinare la data risultante dall'aggiunta di 30 giorni alla data odierna oppure l'orario risultante dall'aggiunta di 45 minuti all'ora corrente.
Per aggiungere giorni a date, è possibile utilizzare l'impostazione per il giorno dell'anno ("y"), per il giorno ("d") o per il giorno della settimana ("w").
La funzione DateAdd non restituisce una data non valida. In questo esempio, alla data 31 gennaio viene aggiunto un mese:
DateAdd("m", 1, "31-gen-95")
In questo caso, DateAdd restituirà 28-feb-95 e non 31-feb-95. Se date è 31-gen-96, la funzione restituirà 29-feb-96, in quanto il 1996 è un anno bisestile.
Se la data calcolata precede l'anno 100, vale a dire se si sottrae un numero di anni maggiore di quello presente in date, verrà generato un errore.
Se number non è un valoreLong, prima di essere valutato verrà arrotondato al numero intero più vicino.
Nota Il formato del valore restituito dalla funzione DateAdd dipende dalle impostazioni del Pannello di controllo e non dal formato passato dall'argomento date.
Un esempio sempre da MSDN:
In questo esempio la funzione DateAdd viene utilizzata per visualizzare una data successiva ad una data specificata del numero di mesi indicato.
codice:
Dim FirstDate As Date ' Dichiara le variabili.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m" ' "m" specifica i mesi come intervallo.
FirstDate = InputBox("Digitare una data")
Number = InputBox("Digitare il numero di mesi da aggiungere")
Msg = "Nuova data: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
Spero di esserti stato utile.