Come sottrarre giorni da una data in vba (con esempio)


È possibile utilizzare la funzione DateAdd in VBA con un numero negativo per sottrarre un numero specifico di giorni da una data.

Ecco un modo comune per utilizzare questa funzione nella pratica:

 Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range(" B " & i) = DateAdd(" d ", -4, Range(" A " & i))
    Next i
    
End Sub

Questa particolare macro sottrarrà quattro giorni da ciascuna data nell’intervallo A2:A10 e visualizzerà le nuove date nell’intervallo B2:B10 .

Tieni presente che l’argomento “d” nella funzione DateAdd specifica che vogliamo sottrarre giorni dalle date anziché da un’altra unità di tempo.

Fare riferimento alla pagina della documentazione VBA per un elenco completo delle unità che è possibile utilizzare nella funzione DateAdd .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: sottrarre giorni dalla data in VBA

Supponiamo di avere il seguente elenco di date in Excel:

Supponiamo di voler sottrarre quattro giorni da ciascuna data e visualizzare le nuove date nella colonna B.

Per fare ciò possiamo creare la seguente macro:

 Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range(" B " & i) = DateAdd(" d ", -4, Range(" A " & i))
    Next i
    
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

VBA sottrae giorni dalla data

Tieni presente che la colonna B contiene ciascuna delle date nella colonna A con quattro giorni sottratti.

Sentiti libero di modificare il valore numerico nella funzione DateAdd per sottrarre un numero diverso di giorni da ciascuna data.

Nota : la documentazione completa della funzione DateAdd in VBA si trova qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

Come confrontare le date in VBA
Come convertire la stringa fino ad oggi in VBA
Come calcolare i giorni tra due date in VBA

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *