Como contar ou somar células com determinada cor no Excel

Baixar exemplo de pasta de trabalho

Baixe a apostila de exemplo

Este tutorial irá demonstrar como contar ou somar células de uma determinada cor de fundo usando o VBA.

Considere o seguinte intervalo no Excel.

Não há função embutida do Excel para contar células coloridas. Em vez disso, devemos criar uma função definida pelo usuário usando VBA.

Contar células - criar uma função personalizada VBA

Contar quantas células têm uma determinada cor usando VBA é uma questão de criar uma função definida pelo usuário (UDF) que percorrerá todas as células no intervalo e determinará se a cor de fundo de cada célula corresponde à cor de fundo que você estão testando e usando essa função na planilha do Excel.

No VBA, criamos uma função para contar as células selecionadas.

12345678910111213141516 Função CountCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblCount As DoubleDim rngCell As Range'Loop através de cada célula no intervaloPara cada rngCell In rng'verifique se a cor do interior é a mesma cor da célula que você selecionouSe rngCell.Interior.Color = ColorCell.Interior.Color EntãoIf IsNumeric (rngCell.Value) = True Then'aumentar a contagem em 1 se a cor estiver correta.dblCount = dblCount + 1Fim seFim sePróximo'Retorne o valor para o ExcelCountCellsByColor = dblCountFunção Final

Em seguida, use esta função na planilha para retornar o valor.

1 = CountCellsByColor (B2: E10, G4)
  1. Clique na célula laranja em G4 e clique em Inserir Função.

  1. Selecione Usuário definido como a categoria e, em seguida, selecione CountCellsByColor como a função a ser usada.

  1. Clique OK.

  1. Destaque o intervalo que contém todas as células coloridas.

  1. Selecione os ColorCelle clique em OK.

Repita o processo para contar as células com uma cor de fundo verde.

1 = CountCellsByColor (B2: E10, G5)

Células de soma - criar uma função VBA personalizada

Criamos uma função personalizada semelhante no VBA para somar os valores das células de uma determinada cor.

12345678910111213141516 Função SumCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblSum As DoubleDim rngCell As Range'Loop através de cada célula no intervaloPara cada rngCell In rng'verifique se a cor do interior é a mesma cor da célula que você selecionouSe rngCell.Interior.Color = ColorCell.Interior.Color EntãoIf IsNumeric (rngCell.Value) = True Then'adicione o valor à sua variável se a cor estiver corretadblSum = dblSum + rngCell.ValueFim seFim sePróximo'Retorne o valor para o ExcelSumCellsByColor = dblSumFunção Final

Em seguida, usaríamos novamente esta função na planilha para somar as células necessárias.

1 = SumCellsByColor (B2: E10, G7)

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave