Hoe de subtotaalfunctie in vba te gebruiken (met voorbeelden)
U kunt de functie SUBTOTAAL in Excel gebruiken om algemene statistieken te berekenen voor alleen zichtbare cellen op een blad.
U kunt de volgende basissyntaxis in VBA gebruiken om de SUBTOTAAL-functie te gebruiken:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Dit specifieke voorbeeld berekent de som van de waarden in de zichtbare cellen in het bereik B2:B11 en geeft het resultaat weer in cel A16 .
Houd er rekening mee dat het eerste argument voor de methode Subtotaal de te gebruiken aggregatiemethode specificeert waarbij:
- 1 : GEMIDDELD
- 2 : REKENING
- 3 : REKENING
- 4 : MAXIMUM
- 5 : MINIMUM
- 6 : PRODUCT
- 7 : STDEV
- 8 : STDEVP
- 9 : SOM
- 10 : VAR
- 11 : VARP
Het volgende voorbeeld laat zien hoe u de Subtotaal- methode in VBA in de praktijk kunt gebruiken.
Voorbeeld: subtotaal gebruiken in VBA
Stel dat we de volgende gegevensset in Excel hebben die informatie bevat over verschillende basketbalspelers:
Stel nu dat we een filter toepassen om alleen rijen weer te geven waarin team gelijk is aan A of C:
We kunnen de volgende macro maken om de som van de zichtbare cellen in de puntenkolom te berekenen en de resultaten in cel A16 weer te geven:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat cel A16 de waarde 168 bevat.
Dit vertelt ons dat de som van de cellen die zichtbaar zijn in de puntenkolom 168 is.
We kunnen ook de waarde van het eerste argument van de Subtotaal- methode wijzigen om een andere metriek te berekenen.
We kunnen bijvoorbeeld een waarde van 1 gebruiken om in plaats daarvan het gemiddelde van de zichtbare cellen in de puntenkolom te berekenen:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat cel A16 de waarde 24 bevat.
Dit vertelt ons dat het gemiddelde van de cellen die zichtbaar zijn in de puntenkolom 24 is.
Opmerking : u kunt hier de volledige documentatie voor de VBA- subtotaalmethode vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: waarden toevoegen in een bereik
VBA: Hoe de gemiddelde waarde van het bereik te berekenen
VBA: het aantal rijen binnen bereik tellen