Obter o código RGB de uma cor

Com o código VBA abaixo você poderá obter o código RGB de uma cor de qualquer coisa no Excel, seja uma célula, um gráfico ou algo em um UserfForm.

  1. Abra o arquivo Excel com o qual deseja trabalhar.
  2. Vá para o editor VBA, você pode acessá-lo utilizando o atalho ALT + F11 no teclado.
  3. No menu da esquerda, clique sobre uma local em branco com o botão direito e então em Inserir e depois Módulo, conforme a imagem abaixo.
  4. Na parte direita da tela será exibida uma área para inserção de código VBA. Insira o seguinte código
    Sub CorRGB()
     'Busca a cor RGB da célula da A1 da planilha ativa
     C = Range("A1").Interior.Color
     R = C And 255
     G = C \ 256 And 255
     B = C \ 256 ^ 2 And 255
    End Sub

    Note que o código pode ser inserido em qualquer outro local na macro, sem necessidade de criar um macro própria só para ele, como feito no exemplo.

  5. Salve o arquivo em formato Pasta de Trabalho Habilitada para Macro do Excel conforme a imagem.

Como usar a macro para obter o código RGB

O código de exemplo armazena na variável C todo o código RGB da cor de fundo da célula A1 da planilha ativa. Em seguida o código é quebrado nas três cores que o compõe, Red, Green e Blue e então salvos nas variáveis R, G e B, correspondentemente.

Assim, agora você pode transferir a mesma cor para qualquer outro lugar. Em regra geral o código final possuirá:

.RGB = RGB(R, G, B) ou apenas = RGB(R, G, B)

Por exemplo, caso queiramos transferir a cor de A1 para A2 o código seria:

 C = Range("A1").Interior.Color
 R = C And 255
 G = C \ 256 And 255
 B = C \ 256 ^ 2 And 255

 Range("A2").Interior.Color = RGB(R, G, B)

Ou quem sabe para a primeira série de dados de um gráfico:

 C = Range("A1").Interior.Color
 R = C And 255
 G = C \ 256 And 255
 B = C \ 256 ^ 2 And 255
 
 ActiveSheet.ChartObjects("Gráfico 1").Activate
 ActiveChart.FullSeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(R, G, B)

Entendendo o código de captura RGB

C = Range(“A1”).Interior.Color
Salva em uma variável C toda a informação de cor de preenchimento da célula A1 da planilha ativa.

R = C And 255
G = C \ 256 And 255
B = C \ 256 ^ 2 And 255

Partindo do código armazenado em C são extraídas as partes de cada cor e salvas nas variáveis RGB.

.RGB = RGB(R, G, B)

Seta que a cor RGB de alguma coisa será igual ao código RGB guardado pelas 3 variáveis RGB.


Acompanhe o Função Excel
facebook-logo youtube-logo googleplus-logo twitter-logo

E aí, o que achou?