Eu tenho uma planilha com aproximadamente 300 linhas. Cada linha possui cerca de 15 colunas e cada célula contém um valor numérico. Cada linha corresponde a um produto.
Quero que o Excel, para cada produto, destaque as células com os números mais altos em vermelho e os números mais baixos em amarelo, com um gradiente para os números intermediários. É o que acontece se eu selecionar uma linha (especificamente, as 15 células na linha que contêm meus dados) e clicar em Formatação Condicional> Escalas de Cores> Escala de Cores Vermelho-Amarelo.
No entanto, tenho 300 linhas e levará muito tempo para selecionar cada linha individualmente e definir a formatação condicional. Por outro lado, se eu selecionar o intervalo inteiro e aplicar a Formatação Condicional, o Excel calculará as cores com base em todo o intervalo, quando, na verdade, eu quero que elas sejam calculadas linha a linha. Por exemplo, pegue estes dados de amostra:
1 2 3
4 5 6
7 8 9
A saída que eu quero, usando Y para amarelo, O para laranja, R para vermelho, é:
Y O R
Y O R
Y O R
No entanto, se eu selecionar o intervalo inteiro e aplicar a Formatação Condicional, recebo:
Y Y Y
O O O
R R R
Existe uma maneira de fazer isso sem fazer uma linha de cada vez?
fonte
Respostas:
Aqui está uma macro que cria um formato condicional para cada linha da sua seleção. Isso é feito copiando o formato da primeira linha para CADA linha na seleção (uma por uma, não totalmente). Substitua B1: P1 pela referência à primeira linha na sua tabela de dados.
Para usar, destaque as linhas não formatadas no seu conjunto de dados (no meu caso, B2: P300 ) e execute a macro. No exemplo abaixo, observe que os números máximos nas duas primeiras linhas são 5 e 15 , respectivamente; ambas as células são vermelho escuro .
Tenho certeza de que existe uma solução mais rápida do que isso, no entanto.
fonte
A maneira mais fácil de fazer isso é copiar / colar de forma incremental. Primeiro, formate 1 linha da maneira que desejar. Em seguida, copie e cole a formatação apenas para APENAS uma segunda linha. Agora copie AMBAS as linhas 1 e 2 e cole a formatação nas linhas 3 e 4. Enxágue e repita: Copie 4, últimos 4, copie 8, cole 8, copie 16, cole 16. Depois de obter uma quantidade decente como 16, cole-o algumas vezes para obter 64 ou 128. Em seguida, você pode copiá-los e colar sua formatação, e está cobrindo exponencialmente mais território do que antes.
Não é elegante e, na minha experiência, os recursos necessários para formatar condicionalmente a linha de comer começam a chegar ao máximo em torno de 2500 linhas ... mas é o trabalho que você faz.
Eu só queria que houvesse lógica que não criasse um formato condicional separado para cada linha, consumindo recursos ...
fonte
Acabei de encontrar este e outros exemplos de como fazer isso via VBA e isso me fez pensar e descobri uma maneira relativamente rápida e indolor de fazer a mesma coisa sem ter que saber ou copiar qualquer script.
Aplique a formatação condicional desejada à linha que você deseja e realce a linha inteira. Próximo Clique com o botão direito do mouse em qualquer lugar ao longo da borda (o mouse deve ser o ícone Mover) e arraste para a próxima linha. No menu de contexto que aparece, selecione "Copiar aqui como apenas formatos". Agora você deve ter seu Formato Condicional aplicado às duas linhas separadamente. Continue fazendo isso recursivamente, exceto que agora você pode selecionar e copiar 2 ou mais linhas por vez.
Não é um acordo único como o código acima, mas é exponencialmente mais rápido do que fazer uma linha de cada vez. Espero que isto ajude.
fonte
Você também pode aplicar a formatação da condição a uma linha. Destaque a linha novamente e clique duas vezes em "Format Painter" para bloqueá-la. Use a tecla de seta para baixo para aplicar a condição para outras linhas.
Para minha empresa, geralmente bloqueia macro no excel, então isso funciona para mim. espero que ajude você também.
fonte