Vba: hoe toe te voegen als tussen twee datums


U kunt de volgende syntaxis in VBA gebruiken om de som te berekenen als de cellen zich tussen twee datums bevinden:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

In dit specifieke voorbeeld worden de waarden in het bereik B2:B9 alleen opgeteld als de datum in het bereik A2:A9 tussen de startdatum in cel E1 en de einddatum in cel E2 valt.

De som wordt dan weergegeven in cel E3 .

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

Voorbeeld: hoe u If tussen twee datums in VBA kunt toevoegen

Stel dat we de volgende dataset hebben met informatie over het totale aantal producten dat op verschillende data in een winkel is verkocht:

Stel dat we de som van de verkopen alleen willen berekenen voor datums tussen 01/07/2023 en 01/26/2023 .

We kunnen hiervoor de volgende macro maken:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

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

Merk op dat cel E3 de waarde 16 bevat.

Dit vertegenwoordigt de som van de waarden in de verkoopkolom waarbij de datum tussen 01/07/2023 en 01/26/2023 ligt.

We kunnen verifiëren dat dit correct is door handmatig de som van de waarden in de kolom Verkoop te berekenen waarbij de overeenkomstige waarde in de kolom Datum tussen 7-01-2023 en 26-01-2023 ligt:

Som van de verkopen: 3 + 7 + 6 = 16 .

Dit komt overeen met de waarde berekend door VBA.

Houd er rekening mee dat als u de begin- en einddatumwaarden in respectievelijk de cellen E1 en E2 wijzigt en de macro opnieuw uitvoert, deze de som van de verkopen voor de nieuwe datums berekent.

Let op : Er wordt aangenomen dat de waarden in de datumkolom al zijn opgemaakt als datums in Excel.

Aanvullende bronnen

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

VBA: SUMIF- en SUMIFS-functies schrijven
VBA: Hoe COUNTIF- en COUNTIFS-functies te schrijven
VBA: Hoe AVERAGEIF- en AVERAGEIFS-functies te schrijven

Einen Kommentar hinzufügen

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