Como descobrir o código RGB da cor de uma célula com VBA

Uma vez, recebi um arquivo do Excel que precisava ter células coloridas com uma cor especial encontrada em outra célula presente no mesmo arquivo. O Excel 2007 não listava essa cor em “Mais Cores”. Precisei recorrer a um código VBA para conseguir obter o código RGB dessa cor.

Como descobrir o código RGB da cor de uma célula com VBA
Este post foi originalmente publicado em https://officevbavsto.blogspot.com/2011/05/quickshot-descobrir-cor-rgb-de-uma.html.

Uma vez, recebi um arquivo do Excel que precisava ter células coloridas com uma cor especial encontrada em outra célula presente no mesmo arquivo. O Excel 2007 não listava essa cor em “Mais Cores”. Precisei recorrer a um código VBA para conseguir obter o código RGB dessa cor.

Encontrei um código, que deve ter sido feito em meados dos anos 80, e após algumas atualizações, ele ficou parecido com o seguinte:

Function ShowRGB(rcell)

  Dim myStr As String
  
  myStr = Right("000000" & Hex(rcell.Interior.Color), 6)
  
  ShowRGB = "R=" & Application.WorksheetFunction.Hex2Dec(Right(myStr, 2))
  
  ShowRGB = ShowRGB & ",G=" & Application.WorksheetFunction.Hex2Dec(Mid(myStr, 3, 2))
  
  ShowRGB = ShowRGB & ",B=" & Application.WorksheetFunction.Hex2Dec(Left(myStr, 2))

End Function

Como usar essa função

Agora, em uma célula qualquer, escreva a seguinte fórmula =ShowRGB(A1). O resultado será o código RGB da cor utilizada na célula A1.

Créditos

Photo by David Pisnoy on Unsplash

comments powered by Disqus

Read more