Boa Tarde Pessoal!
Estou aprendendo a utilizar o VBA agora, por isso estou com dificuldades em criar uma fórmula para somar linhas por cor em uma tabela paralela a uma tabela dinâmica, conforme imagem abaixo:
Preciso do seguinte:
1º - Nos casos em que a fórmula retornar color1 (circulado em verde), o resultado deve ser igual ao somatório das células que retornam color2 (circulado em vermelho);
2º - Nos casos em que a fórmula retornar color2 (circulado em vermelho), o resultado deve ser igual ao somatório das células circuladas em amarelo (dentro do universo do seu projeto, circulado em marrom);
Isso ai tem um fator complicador, que é o fato de a tabela L10:N199 variar de acordo com a atualização da tabela dinâmica.
Pesquisando na net encontrei um código que solucionaria o 1, mas não sei porque não consigo fazer ele funcionar. Segue código abaixo:
Function SomaCor(Color As Range, Range As Range) As Long
Dim Cell As Range
Dim ColorIndexNumber As Integer
Dim ColorSum
'Get the Color Index
ColorIndexNumber = Color.Interior.ColorIndex
'For each cell we Highlighted
For Each Cell In Range
If Cell.Interior.ColorIndex = ColorIndexNumber Then
ColorSum = WorksheetFunction.Sum(Cell.Value) + ColorSum
End If
Next Cell
SomaCor = ColorSum
End Function
segue imagem:
Segue planilha base.
http://www.4shared.com/file/rwKTBqlt/exemplo_variao
Se alguem puder me ajudar ficarei agradecido.
Obrigado,
No aguardo.
Postado : 24/03/2013 2:23 pm