Ir ao conteúdo
  • Cadastre-se

Somar Cor Tabela Dinâmica (vba)


Diego Lacorte

Posts recomendados

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:

exemplovariao.png

http://imageshack.us/photo/my-images/16/exemplovariao.png/

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 ainda tem um fator complicador, que é o fato de que a tabela L10:N199 varia de acordo com a atualização da tabela dinâmica.

Pesquisando na net encontrei um código que solucionaria o item 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 exemplo da planilha: http://www.4shared.com/file/rwKTBqlt/exemplo_variao

Se alguem puder me ajudar ficarei agradecido.

Obrigado,

No aguardo.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...