Come utilizzare la funzione subtotale in vba (con esempi)
È possibile utilizzare la funzione SUBTOTALE in Excel per calcolare le statistiche generali solo per le celle visibili su un foglio.
È possibile utilizzare la seguente sintassi di base in VBA per utilizzare la funzione SUBTOTALE:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Questo particolare esempio calcola la somma dei valori nelle celle visibili nell’intervallo B2:B11 e visualizza il risultato nella cella A16 .
Tieni presente che il primo argomento del metodo Subtotale specifica il metodo di aggregazione da utilizzare dove:
- 1 : MEDIO
- 2 : CONTO
- 3 : CONTO
- 4 : MASSIMO
- 5 : MINIMO
- 6 : PRODOTTO
- 7 : DEV.ST
- 8 : DEV.ST.POP
- 9 : SOMMA
- 10 : VAR
- 11 : VAR
L’esempio seguente mostra come utilizzare nella pratica il metodo Subtotale in VBA.
Esempio: come utilizzare il totale parziale in VBA
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni su vari giocatori di basket:
Supponiamo ora di applicare un filtro per mostrare solo le righe in cui la squadra è uguale ad A o C:
Possiamo creare la seguente macro per calcolare la somma delle celle visibili nella colonna dei punti e visualizzare i risultati nella cella A16 :
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Nota che la cella A16 contiene il valore 168 .
Questo ci dice che la somma delle celle visibili nella colonna dei punti è 168.
Possiamo anche modificare il valore del primo argomento del metodo Subtotale per calcolare una metrica diversa.
Ad esempio, possiamo utilizzare il valore 1 per calcolare invece la media delle celle visibili nella colonna dei punti:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Nota che la cella A16 contiene il valore 24 .
Questo ci dice che la media delle celle visibili nella colonna dei punti è 24.
Nota : puoi trovare la documentazione completa per il metodo Subtotale VBA qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come aggiungere valori in un intervallo
VBA: come calcolare il valore medio dell’intervallo
VBA: come contare il numero di righe nell’intervallo