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