Dagen aftrekken van een datum in vba (met voorbeeld)


U kunt de DateAdd- functie in VBA gebruiken met een negatief getal om een specifiek aantal dagen van een datum af te trekken.

Hier is een gebruikelijke manier om deze functie in de praktijk te gebruiken:

 Sub SubtractDays()

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

Deze specifieke macro trekt vier dagen af van elke datum in het bereik A2:A10 en geeft de nieuwe datums weer in het bereik B2:B10 .

Houd er rekening mee dat het argument „d“ in de functie DateAdd aangeeft dat we dagen willen aftrekken van datums in plaats van een andere tijdseenheid.

Raadpleeg de VBA-documentatiepagina voor een volledige lijst met eenheden die u kunt gebruiken in de DateAdd- functie.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: trek dagen af van de datum in VBA

Stel dat we de volgende lijst met datums in Excel hebben:

Stel dat we van elke datum vier dagen willen aftrekken en de nieuwe datums in kolom B willen weergeven.

We kunnen hiervoor de volgende macro maken:

 Sub SubtractDays()

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

Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:

VBA trekt dagen af van de datum

Merk op dat kolom B elk van de datums in kolom A bevat, met aftrek van vier dagen.

U kunt gerust de numerieke waarde in de DateAdd- functie wijzigen om van elke datum een ander aantal dagen af te trekken.

Opmerking : u kunt hier de volledige documentatie van de DateAdd- functie in VBA vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

Datums vergelijken in VBA
Hoe string naar datum te converteren in VBA
Hoe dagen tussen twee datums in VBA te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert