Hoe u de laatste dag van de maand kunt vinden met vba (met voorbeeld)
U kunt de functie DateSerial() in VBA gebruiken met een waarde van 0 voor het dagargument om de laatste dag van de maand te vinden voor een datum in een bepaalde cel.
U kunt bijvoorbeeld de volgende syntaxis gebruiken om de laatste dag van de maand voor de datum in cel A1 te vinden en die datum in cel B1 te retourneren:
dateVal = DateValue(Range(" A1 "))
Range(" B1 ").Value = DateSerial(Year(dateVal), Month(dateVal)+1, 0)
Als cel A1 bijvoorbeeld 1/5/2023 bevat, retourneert cel B1 1/31/2023 .
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: VBA gebruiken om de laatste dag van de maand te vinden
Laten we zeggen dat we de volgende gegevensset in Excel hebben die informatie bevat over verkopen die op verschillende datums in een bedrijf zijn gedaan:
Stel dat we voor elke datum in kolom A de laatste dag van de maand willen vinden en de datum in de overeenkomstige cel in kolom C willen retourneren.
We kunnen hiervoor de volgende syntaxis gebruiken:
SubFirstDayOfMonth ()
Dim i As Integer
For i = 2 To 11
dateVal = DateValue(Range(" A " & i))
Range(" C " & i).Value = DateSerial(Year(dateVal), Month(dateVal)+1, 0)
Next i
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Elk van de datums in kolom C vertegenwoordigt de laatste dag van de maand voor de overeenkomstige datum in kolom A.
Opmerking #1: In de code gebruikten we For i = 2 tot en met 11, omdat de cellen A2 tot en met A11 de datums bevatten waarin we geïnteresseerd waren. U kunt dit bereik gerust wijzigen, afhankelijk van het cellenbereik dat u wilt gebruiken.
Opmerking #2 : U kunt hier de volledige documentatie van de DateSerial() -functie in VBA vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met VBA:
Hoe te sorteren op datum in VBA
Hoe toe te voegen als tussen twee datums in VBA
Hoe groter dan datum te tellen in VBA