Como usar a função subtotal em vba (com exemplos)


Você pode usar a função SUBTOTAL no Excel para calcular estatísticas gerais apenas para células visíveis em uma planilha.

Você pode usar a seguinte sintaxe básica em VBA para usar a função SUBTOTAL:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

Este exemplo específico calcula a soma dos valores nas células visíveis no intervalo B2:B11 e exibe o resultado na célula A16 .

Observe que o primeiro argumento do método Subtotal especifica o método de agregação a ser usado, onde:

  • 1 : MÉDIO
  • 2 : CONTA
  • 3 : CONTA
  • 4 : MÁXIMO
  • 5 : MÍNIMO
  • 6 : PRODUTO
  • 7 : DESVPAD
  • 8 : STDEVP
  • 9 : SOMA
  • 10 :VAR
  • 11 : VARP

O exemplo a seguir mostra como usar o método Subtotal em VBA na prática.

Exemplo: como usar subtotal em VBA

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Agora suponha que aplicamos um filtro para mostrar apenas as linhas onde a equipe é igual a A ou C:

Podemos criar a seguinte macro para calcular a soma das células visíveis na coluna de pontos e exibir os resultados na célula A16 :

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a célula A16 contém o valor 168 .

Isso nos diz que a soma das células visíveis na coluna de pontos é 168.

Também podemos alterar o valor do primeiro argumento do método Subtotal para calcular uma métrica diferente.

Por exemplo, podemos usar o valor 1 para calcular a média das células visíveis na coluna de pontos:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a célula A16 contém o valor 24 .

Isso nos diz que a média das células visíveis na coluna de pontos é 24.

Nota : Você pode encontrar a documentação completa do método VBA Subtotal aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como adicionar valores em um intervalo
VBA: Como calcular o valor médio do intervalo
VBA: Como contar o número de linhas no intervalo

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *