Eu quero usar o VBA para verificar se o texto em uma célula no Excel é de uma determinada cor
lets say red
Você pode usar Font.ColorIndex
Veja abaixo um exemplo.
Para recuperar o uso da cor da célula:
=GetFontColor(A1)
VBA - Obtém a cor da fonte Função
When we have colors on our sheets data and want, for instance, to count how many “red” words we have on our sheet, that is not possible because there is no formula in Excel to check for font colors. Instead we can create our own VBA Function to get the font color. It’s a very simple code. You have to insert it on a VBA module on your sheet.
Function GetFontColor(ByVal Target As Range) As Integer GetFontColor = Target.Font.ColorIndex End Function
Then you can use it on your sheet like this:
=GetFontColor(A2)
Below is an example on how you can use this function. In column C we put the font color of text in column A.
To count the number of “red” words in column A we can use:
COUNTIF(C2:C9,3)
The
3
in the formula refers to the color red.
Fonte VBA - Obtenha a função de cor da fonte . O script foi ajustado para atender aos requisitos da pergunta.
E se eu quiser a cor da célula?
Use a seguinte função:
Function GetCellColor(ByVal Target As Range) As Integer
GetCellColor = Target.Interior.ColorIndex
End Function
Para recuperar o uso da cor da célula:
=GetCellColor(A1)
Fonte Sum Cells com base na cor de fundo . O script foi ajustado para atender aos requisitos da pergunta.