![]() |
Comprar
a Coleção de 15.000
Macros, Funções e Fórmulas do Excel Dicas |
|
Questão 12: Como Obter subtotais? Minha planilha contem duas colunas adjacentes. Uma coluna contem códigos. A outra coluna contem Valores em Reais. Não há linhas em branco. Os códigos diferem no número de caracteres. Alem disso há códigos repetidos, mas não é possível dizer a priori quantos códigos diferentes há, nem quantos elementos há relativamente a cada código. É possível programar-se a obtenção de subtotais ? Solução 12: Há três respostas possíveis para sua questão. O numero de caracteres do código não é relevante. O que importa é que códigos iguais pertencentes ao mesmo grupo formem blocos. Aplicar um Data Sort na sua tabela deve ser então o primeiro passo. Mostrando a Tabela Se você quer obter Subtotais relativamente a cada grupo de códigos e um Total Geral escreva : .Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2) Solução 12: Escondendo a Tabela. Se voce quer mostrar apenas os Subtotais por grupo de códigos e um Total Geral relativamente a soma do conjunto escreva : .Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2) .Parent.Outline.ShowLevels RowLevels:=2 Solução 12: Escondendo a Tabela. Se você quer obter somente um SubTotal relativamente ao conjunto, sem levar em conta os códigos escreva : .Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2) .Parent.Outline.ShowLevels RowLevels:=1 Imaginemos que na sua tabela (na Sheet1), as células B4 e C4 contenha os Labels (Código, Valor em Reais) e os demais dados estejam no range B5:Cn (onde n é indeterminado). A rotina abaixo lhe servirá de guia : Sub TestandoSubTotais( ) Worksheets(1).Activate Cells(4, 2).Select With Worksheets(1).Cells(4, 2).CurrentRegion .Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2) End With End Sub |