Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Macro excel - Somar celulas por cor
20-02-2014, 19:44
Mensagem: #1
Macro excel - Somar celulas por cor
Alguém me pode ajudar a editar esta macro para fazer o que eu quero?
A macro a baixo basicamente soma células no Excel que tenham a mesma cor, contudo eu precisava que ela soma-se as células que tenham caracteres com a mesma cor!

Resumindo, quero somar caracteres (Algarismos) com a mesma cor e não células!

É possível ? Big Grin

Obrigado

Function SumByColor(CellColor As Range, SumRange As Range)
Dim myCell As Range
Dim iCol As Integer
Dim myTotal
iCol = CellColor.Interior.ColorIndex 'obtém a cor de destino
For Each myCell In SumRange 'verifica cada célula no intervalo designado
'se a cor da célula corresponder á cor alvo
If myCell.Interior.ColorIndex = iCol Then
'adiciona o valor da célula ao total
myTotal = WorksheetFunction.sum(myCell) + myTotal
End If
Next myCell
SumByColor = myTotal
End Function
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 01:11 (Esta mensagem foi modificada pela última vez a: 21-02-2014 01:16 por nioxys.)
Mensagem: #2
RE: Macro excel - Somar celulas por cor
Olá Smile

Tens de alterar a propriedade, onde usas 
CellColor.Interior.ColorIndex tens de passar a usar CellColor.Font.Color , assim como no IF, tens If myCell.Interior.ColorIndex = iCol Then trocas por If myCell.Font.Color = iCol Then sendo o resultado final,


Código:
Function SumByColor(CellColor As Range, SumRange As Range)

Dim myCell As Range
Dim iCol As Integer
Dim myTotal

iCol = CellColor.Font.Color 'obtém a cor de destino

For Each myCell In SumRange 'verifica cada célula no intervalo designado
'se a cor da célula corresponder á cor alvo
If myCell.Font.Color = iCol Then
'adiciona o valor da célula ao total

myTotal = WorksheetFunction.Sum(myCell) + myTotal
End If

Next myCell
SumByColor = myTotal

End Function


Espero ter ajudado. Smile

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 13:59
Mensagem: #3
RE: Macro excel - Somar celulas por cor
Sem duvida que ajudas-te!
Mas ainda continuo com um problema.

Estive a testar a macro e sem duvida que funcionou, porém está a acontecer algo deste género:

Para o mesmo conjunto de números com cores diferentes, quando executo a função pela primeira vez o resultado da correcto, todavia, quando vou executar mais uma vez para uma outra cor aparece #VALOR!.

Alguma ideia do que pode ser ?
Acontece isso contigo ?
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 14:59
Mensagem: #4
RE: Macro excel - Somar celulas por cor
Podes colocar aqui um ficheiro com um exemplo desse problema?

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 15:24
Mensagem: #5
RE: Macro excel - Somar celulas por cor
Aqui está !

https://www.dropbox.com/s/o4mhoab8q57ncs9/Livro.xlsm
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 16:26 (Esta mensagem foi modificada pela última vez a: 21-02-2014 16:26 por Cabritone.)
Mensagem: #6
RE: Macro excel - Somar celulas por cor
Boas,
o código da cor que queres contar é um numero maior que o que o tipo de dados Integer consegue suportar.

tens de alterar para:


Código:
Dim iCol As Long


Cumprimentos.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 16:34
Mensagem: #7
RE: Macro excel - Somar celulas por cor
Fantástico !!!

MUITO OBRIGADO!!!

Tenho de começar a pensar aprender um bocado disto !

Obrigado mais uma vez.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
21-02-2014, 16:44
Mensagem: #8
RE: Macro excel - Somar celulas por cor
Também não tinha reparado nisso. EEK!
Às vezes com as adaptações acontece isto.

Mas ainda bem que já tens o problema resolvido.

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)