Excel - formatação condicional em Shapes?

5

Durante muito tempo, não achei que era possível ter uma forma (por exemplo, caixa de texto) com um valor definido por fórmula, mas acontece que você pode. Da mesma forma, aparece que você não pode aplicar a formatação condicional a Shapes (a opção está esmaecida na faixa no Excel 2007); Existe alguma maneira secreta de contornar essa graying out e aplicar formatação condicional a uma forma? Caso a resposta seja diferente para diferentes tipos de formas ou formatos, estou tentando aplicar condicionalmente cores diferentes a um retângulo.

E o motivo pelo qual quero fazer isso é porque não podemos usar macros para esse caso específico.

    
por kcrumley 16.09.2008 / 20:18

2 respostas

4

Não, mas você pode fingir

Você pode fingir, mas é preciso alguma configuração. Ele funcionará a menos que você precise de grandes formas. Aqui estão os passos para criar n diferentes formatos de formatos condicionais no Excel 2010.

tl; dr Use uma célula extra e uma caixa de texto para cada condição desejada. Cada caixa de texto é configurada para exibir texto gigante com contornos e sombras enormes, todos da mesma cor. As células extras são configuradas para mostrar apenas o texto se o valor atender à condição.

  1. Crie as colunas auxiliares n que serão mostradas em branco, a menos que o valor atenda à condição correta. Um exemplo simples para n = 3 casos pode ser: (nós veremos porque eu usei "888" depois

    =IF(A1=1,"888","") =IF(A1=2,"888","") =IF(A1=3,"888","")
    Por enquanto, no entanto, preencha as colunas auxiliares com texto, não com uma fórmula.

  2. Formate a cor do texto em cada coluna auxiliar como correta para essa condição

  3. Crie 1 caixa de texto com o tamanho correto e coloque em qualquer texto (E.G. "Hello World")
  4. Formate as bordas como quiser, mas verifique se o preenchimento é No Fill
  5. Clique com o botão direito do mouse no texto e clique em "Formatar efeitos de texto ..." na parte inferior do menu de contexto
  6. Defina o contorno do texto como uma linha sólida na cor correta para a condição 1
  7. Defina o estilo de contorno como 25pt ou algo muito alto
  8. Defina a sombra como exterior > Centro de deslocamento com transparência de 0% e tamanho de 200%
  9. Copie esta caixa de texto n-1 vezes, agora você tem n total
  10. Altere as configurações de cor para cada uma delas para ser o que você precisa
  11. Volte e defina a fórmula de cada uma como uma das colunas auxiliares, certificando-se de conectá-la à correta
  12. Se o texto preencher as caixas de texto não estiver correto, volte para cada uma delas e altere-a
  13. Para cada caixa de texto, defina o tamanho da fonte para 70 ou o tamanho necessário para preencher a caixa inteiramente com cor
  14. Quando tudo estiver configurado, volte e altere as colunas auxiliares para serem estereotipadas. Peça-lhes que mostrem texto que ocupe muito espaço como 8, # ou algum símbolo de caixa.
  15. Teste para garantir que, para cada valor, uma caixa de texto mostre cor e o restante não mostre preenchimento
  16. Empilhe todas as caixas de texto (Alinhar > Esquerda e Alinhar > Superior podem ser úteis) e agrupá-las para que não fiquem confusas com tanta facilidade

Aqui estão algumas imagens de uma maquete que eu fiz.
Observe que caixa tem cor muda conforme o valor é alterado. Se eu tivesse empilhado isso, pareceria uma única forma mudando de cor.

    
por 09.04.2015 / 22:18
2

Não tenho certeza de que existe. Em 2007, como nas versões anteriores do Excel, o FormatConditions só pode ser aplicado a intervalos, não a Shapes.

No entanto, se eu estiver entendendo sua situação corretamente, pois não é possível usar macros, não tenho certeza se você seria capaz de aplicar a formatação condicional nos bastidores em qualquer evento ... e se você pudesse use macros / VBA, então você não precisaria necessariamente de formatação condicional; você deve ser capaz de executar um procedimento para formatar as formas conforme necessário. Algo como o seguinte deve funcionar, mas acredito que você já tenha descoberto essa parte:

ActiveWorkbook.ActiveSheet.Shapes(1).Fill.ForeColor.RGB = RGB(0, 0, 255)

Se você quisesse formatar as formas com base nos valores conforme eles foram inseridos na planilha, então sim, seria mais fácil usar a formatação condicional se estivesse disponível.

    
por 16.09.2008 / 23:03