Excel: contar ou adicionar células coloridas manualmente

Faça uma pergunta

Ao contrário do que se pensa, não é obrigatório tratar este problema com o VBA, pois existe, nas versões mais recentes do Excel, a possibilidade de tratar esta tarefa, como o formato de uma célula com a sintaxe
READ.CELL
.

Esta sintaxe só pode ser usada dentro de um campo nomeado e retorna VERDADEIRO ou FALSO de acordo com a condição, mas também o índice de cores que abre possibilidades de cálculo sem os códigos VBA, incompreensíveis para alguns.


Por exemplo, para conhecer a cor de uma célula colorida manualmente, ative a célula ou exiba o índice de cores, abra o gerenciador de nomes e crie um campo; defina um nome e nomeie-o, Exemplo Teste. Na referência, insira a fórmula
= NOME da sintaxe
(código de função, endereço da célula). O código de função para identificar uma cor é
63
.


Para conhecer o índice de cores da célula A1, a fórmula no campo será
= REIRE.CELL (63; A1)
. Na célula ativa digite
=Teste
. O mesmo será feito para saber o índice de cores de uma fonte, o código é 24, a fórmula será
= REIRE.CELL (24; A1)
. Também, para testar se a fonte está em negrito READ.CELL retornará VERDADEIRO ou FALSO e o código da função é
20
e a fórmula será
=READ.CELL (20; A1)
, etc...

A partir desse resultado, qualquer tipo de cálculo pode ser feito, por exemplo, para contar as células do intervalo A1 a A20 coloridas em vermelho, uma célula de exemplo C1 é ativada; criamos o campo no gerenciador dos nomes
= READ.CELL (63; A1)
na célula C1, a fórmula será
=Testar
e incrementar para baixo; o índice de cores será reenviado. A fórmula final para contar células vermelhas será
= NB.SI (C1: C20, 3)
.


Para somar os valores contidos nas células vermelhas, várias fórmulas básicas:

= SOMA.SI (C1: C20, 3, A1: A20)
= SUMPRODUT ((C1: C20 = 3) * (A1: A20))
= SOMA.SI.ENS (A1: A20; C1: C20, 3)

É possível, a partir deste exemplo, imaginar qualquer tipo de cálculo sem o código VBA. O único ‘se não’ é que o arquivo terá que ser registrado com a extensão XLS ou XLSM a sintaxe
LER.CELULA
ainda é considerada pelo Excel como Macro EXCEL4.

Lista de códigos função da sintaxe

1 Reenvia a referência absoluta da célula

2 Reenvia o Número de Linha
3 Reenvia Número da coluna
4 Reenvia o tipo de referência da célula
5 Reenvia o conteúdo da célula
6 Reenvia a referência, como texto, no formato A1 ou L1C1, dependendo da localidade
7 Reenvia o formato de número da célula, como texto (exemplo, dd/mm/aaaa ou Padrão) única possibilidade com o Excel para testar um formato de data
8 Reenvia o número que indica o alinhamento horizontal da célula:
1 = Padrão
2 = Esquerda
3 = centrado
4 = Direito
5 = Copiado
6 = Justificado
7 = Centrado em várias colunas
9 Reenvia o número que indica o estilo de borda esquerda atribuído à célula:
0 = Sem borda
1 = Borda fina
2 = Borda média
3 = Borda tracejada
4 = Borda tracejada
5 = Borda grossa
6 = Borda dupla
7 = Borda de malha
10 Reenvia o número que indica o estilo de borda correto atribuído à célula
11 Reenvia o número que indica o estilo de borda superior atribuído à célula
12 Reenvia o número que indica o estilo de borda inferior atribuído à célula
13 R Reenvia o número que indica o tema da célula, retorna 0 se não houver tema
14 Se a célula estiver bloqueada, retorna VERDADEIRO (verdadeiro); caso contrário, FALSO
15 Se a fórmula da célula estiver oculta, retorna VERDADEIRO; caso contrário, FALSO
16 Testa a largura da célula de uma matriz, a largura padrão retorna (VERDADEIRO) de outra forma retorna (FALSO).
17 Altura da linha da célula, em pontos
18 Nome da polícia
19 Tamanho da fonte, em pontos
20 Testa os caracteres negrito da célula, retorna Verdadeiro; caso contrário, Falso
21 Testa caracteres em itálico na célula, retorna Verdadeiro; caso contrário, FALSO
22 Testa o caractere na célula se caracteres sublinhados, retorna VERDADEIRO; caso contrário, FALSO
23 Testa se a célula estiver no tachado, retorna VERDADEIRO; caso contrário, FALSO
24 R Reenvia o índice de cores da fonte
25, 26, 27, 28, 29, 30 e 31 não são gerados pelo Microsoft Excel para Windows
32 Nome da pasta de trabalho e folha que contém a célula ativa como folha [Workbook1 ]1
33 Testa a linha de reenvio, retorna VERDADEIRO; caso contrário, FALSO
34 Reenvia o índice de cores da borda esquerda como um número
35 Reenvia o índice de cores da borda direita como um número
36 Reenvia o índice de cores da borda superior como um número
37 Reenvia o índice de cores da borda inferior como um número
38 Teste o primeiro plano sombreado como um número
39 Teste Fundo Sombreado na forma de um número
40 Estilo da celular, na forma de texto
41 Reenvia a fórmula da célula ativa sem convertê-la (útil para folhas macro internacionais)
42 A distância horizontal, medida em pontos, da margem esquerda da janela ativa para a margem esquerda da célula
43 A distância vertical, medida em pontos, da borda superior da janela ativa para a borda superior da célula
44 A distância horizontal, medida em pontos, da margem esquerda da janela ativa para a borda direita da célula
45 A distância vertical, medida em pontos, da borda superior da janela ativa para a borda inferior da célula
46 Se a célula contiver uma anotação de texto, reenvia VERDADEIRO; caso contrário, FALSO.
47 Se a célula contiver uma anotação de áudio, reenvia VERDADEIRO; caso contrário, FALSO.
48 Se a célula contiver uma fórmula, reenvia VERDADEIRO; se contiver uma constante, reenvia FALSO.
49 Se a célula pertence a uma tabela, reenvia VERDADEIRO; caso contrário, FALSO.
50 Reenvia o número que indica o alinhamento vertical da célula:
1 = Top
2 = Centrado
3 = Inferior
4 = Justificado
51 Reenvia o número que indica a orientação vertical da célula:
0 = Horizontal
1 = Vertical
2 = Para o topo
3 = Para baixo
52 O caractere prefixado da célula ou um texto vazio ('') se a célula não contiver nenhum
53 Reenvia o conteúdo da célula como texto, incluindo números
54 Reenvia o nome da exibição da tabela dinâmica
55 Retorna a posição de uma célula na exibição de tabela dinâmica:
0 = Rótulo da linha
1 = Etiqueta da coluna
2 = Cabeçalho da página
3 = Etiqueta de dados
4 = Item de linha
5 = Elemento da coluna
6 = Elemento da página
7 = Elemento de dados
8 = Corpo da pintura
Reenvia o nome do campo da célula ativa que está na exibição de tabela dinâmica.
57 Reenvia VERDADEIRO se os caracteres na célula forem formatados como expoente, caso contrário retorna FALSO.
58 Reenvia o estilo da fonte, negrito ou itálico
59 Reenvia o número do estilo sublinhado:
1 = Nenhum
2 = Simples
3 = Duplo
4 = Contabilidade simples
5 = Contabilidade dupla
60 Reenvia VERDADEIRO se os caracteres na célula estiverem formatados índice; caso contrário, retorna FALSO.
61 Reenvia o nome do elemento da tabela dinâmica da célula ativa
62 Reenvia o nome da pasta ou folha de trabalho atual como planilha
63 Reenvia o índice de cores do plano de fundo da célula
64 Reenvia o índice de cores do primeiro plano da célula
66 Reenvia o nome da pasta de trabalho contendo a célula ativa, na forma Pasta.XLS

Para atualizar o cálculo, pressione a tecla F9 ou adicione um código do VBA às propriedades da folha:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
Calculate
End Sub

Veja o exemplo de arquivo XLS a ser lido em todas as versões do Excel, o melhor é salvar com a extensão XLSM para versões acima do Excel 2007: Arquivo Excel exemplo.

Foto: © LINE ICONS - Shutterstock.com
Jean-François Pillou

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net e diretor digital do Grupo Figaro. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.

Mais informações sobre a equipe do CCM