Encontrei uma solução alternativa que não altera a cor da fonte, mas remove efetivamente o texto das células. Ajuste o formato do número de células para Personalizado, com um valor de ;;;
.
Estou criando um mapa de calor usando a formatação condicional do Excel. Não quero que os valores da célula sejam exibidos no plano de fundo de cor. Existe uma maneira de tornar a formatação da fonte transparente, semelhante ao que é encontrado na formatação de preenchimento da célula?
Como é um mapa de calor, não posso usar uma única cor (por exemplo, branco) e prefiro não ter que formatar individualmente a propriedade de fonte de cada célula para a cor apropriada.
EDITAR: Para ajudar a esclarecer, o mapa de calor é colorido usando a Formatação condicional > Escala de cores > Vermelho-branco-azul (onde o branco foi modificado para cinza claro), portanto o valor de preenchimento da célula é não definido diretamente, mas sim um valor calculado em um gradiente de cor.
Embora não tenha conhecimento de nenhuma funcionalidade de planilha para corresponder a cor da fonte de uma célula à cor de preenchimento (diferente de manualmente), é muito fácil fazer com uma macro. A primeira macro abaixo altera as cores da fonte nas células de um intervalo selecionado para corresponder às cores de preenchimento. O segundo retorna as cores da fonte de volta ao preto padrão.
Sub HideFont()
Dim cell As Variant
For Each cell In Selection
cell.Font.Color = cell.Interior.Color
Next cell
End Sub
Sub UnhideFont()
Dim cell As Variant
For Each cell In Selection
cell.Font.Color = 0
Next cell
End Sub
Para instalar as macros, selecione Developer
/ Visual Basic
da faixa de opções principal e escolha Insert
/ Module
no menu. Cole o código no painel de edição que é aberto. As macros aparecerão na lista de macros acessíveis escolhendo Developer
/ Macros
da faixa principal. Basta selecionar com o mouse o intervalo que você deseja modificar e escolher a macro que deseja executar.
Ok, esta é a primeira vez que eu envio código, então aqui vai. Eu pensei que a rota macro seria o caminho a percorrer, mas como você não pode definir a fonte para ser o mesmo que a cor da célula usando formatação condicional, a única outra maneira seria mudar tanto com uma macro que funciona de forma semelhante ao efeito do formato condicional, veja abaixo:
Sub change()
Dim Rstart, Rmid, Rend, Gstart, Gmid, Gend, Bstart, Bmid, Bend, Rsd, Rdd,_
Gsd, Gdd, Bsd, Bdd, Rcell, Gcell, Bcell As Integer
Dim maxsel, minsel, halfsel, halfval, v As Double
Rstart = 0
Rmid = 230
Rend = 255
Gstart = 0
Gmid = 230
Gend = 0
Bstart = 255
Bmid = 230
Bend = 0
Rsd = Rmid - Rstart
Rdd = Rend - Rmid
Gsd = Gmid - Gstart
Gdd = Gend - Gmid
Bsd = Bmid - Bstart
Bdd = Bend - Bmid
maxsel = Application.WorksheetFunction.Max(Selection)
minsel = Application.WorksheetFunction.Min(Selection)
halfsel = (maxsel - minsel) / 2
halfval = minsel + halfsel
If halfval = 0 Then Exit Sub
Dim cell As Variant
For Each cell In Selection
v = cell.Value
If v >= minsel And v < halfsel Then
Rcell = Round((Rstart + ((halfval - v) / halfsel) * Rsd), 0)
Gcell = Round((Gstart + ((halfval - v) / halfsel) * Gsd), 0)
Bcell = Round((Bstart + ((halfval - v) / halfsel) * Bsd), 0)
Else
Rcell = Round((Rmid + ((v - halfval) / halfsel) * Rdd), 0)
Gcell = Round((Gmid + ((v - halfval) / halfsel) * Gdd), 0)
Bcell = Round((Bmid + ((v - halfval) / halfsel) * Bdd), 0)
End If
cell.Font.Color = RGB(Rcell, Gcell, Bcell)
cell.Interior.Color = RGB(Rcell, Gcell, Bcell)
Next cell
End Sub
Espero que isso ajude alguém, mesmo que seja três anos atrasado para a pergunta original.
É assim que eu faço.
.Cells (RowTo, ColHcpDiP) .Font.Color = .Cells (RowTo, ColHcpDiP) .Interior.Color 'Definir cor invisível