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.
- Abra o arquivo Excel com o qual deseja trabalhar.
- Vá para o editor VBA, você pode acessá-lo utilizando o atalho ALT + F11 no teclado.
- 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.
- 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.
- 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 R, G e B.
.RGB = RGB(R, G, B)
Seta que a cor RGB de alguma coisa será igual ao código RGB guardado pelas 3 variáveis R, G e B.