
Aqui está um exemplo de 4 células em minha pasta de trabalho.
26 99
2 1
A pasta de trabalho é colorida de acordo com as regras 100=vermelho 0=amarelo, onde os itens mais próximos de 0 são mais amarelos e os itens mais próximos de 100 são mais vermelhos (isso é definido por uma regra de formatação condicional que atribui cores com base no valor).
Neste exemplo, 99 seria muito vermelho, 1 e 2 seriam muito amarelos e 26 teria um tom laranja.
Quero manter a mesma cor das células, mas alterar os valores nas células. Neste exemplo eu quero que eles sejam
E=0.0,Q=26 E=0.0,Q=99
E=2.10e-11,Q=2 E=1.02e-08,Q=1
(Observe como os valores do lado direito de q são iguais aos da primeira matriz)
Por causa da regra de formatação condicional, minhas cores desaparecem quando colo novos valores nelas.
Responder1
Você sempre pode adicionar 100 condições de formato com base no valor após Q=
in E=0.0,Q=99
. Aqui está uma macro que fará isso para qualquer célula que você selecionou, comparando cada valor de célula simples com 1 a 100 diretamente ou comparando-o com o valor após o Q=
caso a primeira comparação produzir um erro.
Você pode excluir a macro depois de executá-la para não precisar salvar o arquivo como XLSM. Remova o comentário da Selection.FormatConditions.Delete
linha removendo o apóstrofo se também quiser remover as condições de formato atuais.
Isso pressupõe que seu número seja sempre um número inteiro entre 1 e 100 (como o valor da célula simples ou após o Q=
). Não funcionará para valores decimais.
Sub FormatMe()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'Selection.FormatConditions.Delete
Dim addr As String
addr = Replace(Selection.Cells(1).Address, "$", "")
For i = 1 To 100
With Selection.FormatConditions.Add(xlExpression, Formula1:= _
"=OR(" & addr & " = " & i & ", IFERROR(RIGHT(" & addr & _
", LEN(" & addr & ") - FIND(""Q"", " & addr & ", 2) - 1) = """ & i & """, FALSE))")
.Interior.Color = RGB(255, 255 - Int(i / 100 * 255), 0)
End With
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Responder2
- Suposição: você deseja usar formatação condicional (e sem VBA)
Suposição: A célula que você deseja colorir contém valores 'complexos' como "E=0,0,Q=26"
Responder: escolha um - a formatação condicional do Excel não é inteligente o suficiente para 'ler' o valor "E=0,0,Q=26" e encontrar o número 26.
- Usar sua própria fórmula de formatação pode funcionar, mas não pode aplicar um gradiente, pois só aplica uma cor por condição, também conhecido como "se o número for 29, faça com que seja exatamente essa cor". (Pelo que eu sei - por favor, corrija-me)
- O Excel pode extrair automaticamente o número 26 da sua célula e essa célula (vizinha) pode ser formatada (usando a célula F4
=NUMBERVALUE(RIGHT(F4,LEN(F4)-FIND(",",F4)-2))
)
Minha sugestãoapresente seus dados de uma maneira diferente, use E e Q como cabeçalhos ou algo assim e mantenha cada número em uma célula separada.
Responder3
Use valores de colagem para que apenas os números sejam colados, caso contrário, a formatação também será colada.