Crie uma macro que percorra suas células, leia o valor na célula e atribua a ela a cor da seguinte forma:
Range("A1:A6").Interior.Color = RGB(200,160,35)
Pergunta: É possível preencher cada célula de uma planilha com uma cor cujo valor em escala de cinza seja igual ao valor da célula?
Explicação:
Considere que tenho uma planilha como segue:
Todososvaloresestãoentre0e255(oquecorrespondea256coresemescaladecinza).Agoraqueropreenchercadacélulacomacorcujovaloréovalornacélula.Assim,asaídaesperadaéaseguinte:
Além disso, veja que a cor da fonte em cada célula é preto ou branco correspondente à cor do plano de fundo.
Existe algum método simples no Excel para executar isso em poucas etapas ou de uma só vez?
Crie uma macro que percorra suas células, leia o valor na célula e atribua a ela a cor da seguinte forma:
Range("A1:A6").Interior.Color = RGB(200,160,35)
TheUser1024 tem razão e tem o meu voto.
Aqui está uma solução pronta para uso:
Public Sub Demo()
Dim cel As Range
Dim myRange As Range
Set myRange = Range("A1:E10")
For Each cel In myRange
cel.Interior.Color = RGB(cel.Value, cel.Value, cel.Value)
If cel.Value > 127 Then
cel.Font.Color = RGB(0, 0, 0)
Else
cel.Font.Color = RGB(255, 255, 255)
End If
Next cel
End Sub
Editar:
Este código não será violado no caso de strings ou valores negativos ...
Public Sub Demo()
Dim cel As Range
Dim greytone As Long
Dim myRange As Range
Set myRange = Range("A1:E10")
For Each cel In myRange
greytone = CLng(Abs(Val(cel.Value)))
cel.Interior.Color = RGB(greytone, greytone, greytone)
If greytone > 127 Then
cel.Font.Color = RGB(0, 0, 0)
Else
cel.Font.Color = RGB(255, 255, 255)
End If
Next cel
End Sub