Excel VBA – Tabela de cores da propriedade colorindex

Excel

A linguagem VBA utiliza dois comandos diferentes para colorir células, fontes, entre outros. Temos a propriedade Color que utiliza cores hexadecimais e a propriedade ColorIndex que utiliza 56 cores pré-definidas no VBA, acessadas por números como segue na tabela abaixo.

  1   29
  2   30
  3   31
  4   32
  5   33
  6   34
  7   35
  8   36
  9   37
  10   38
  11   39
  12   40
  13   41
  14   42
  15   43
  16   44
  17   45
  18   46
  19   47
  20   48
  21   49
  22   50
  23   51
  24   52
  25   53
  26   54
  27   55
  28   56

Podemos usar o próprio excel para criar esta tabela e consultá-la posteriormente. Segue um exemplo, no excel 2013, para montarmos a tabela acima, usando VBA.

[mc4wp_form id=”1795″]

Habilitando a guia desenvolvedor no Excel

Para iniciarmos nosso código, precisamos habilitar a área do VBA no Excel. Para isso basta habilitar a guia desenvolvedor caso a mesma não esteja aparecendo.

Guia desenvolvedor

Habilitando a guia desenvolvedor.

Em seguida clique em Visual Basic.

Visual Basic ComandoNa nova janela que se abrirá clique no menu Inserir > Módulo (figura abaixo).

Inserir > Módulo

Com isso estaremos criando uma macro.

Dentro do módulo digite o seguinte código.

Sub tab_cores()
    Dim i, j As Integer
    For i = 1 To 28
        Range("A" & i).Select
        Selection.Interior.ColorIndex = i
        Cells(i, 2) = i
    Next

    For i = 1 To 28
        Range("C" & i).Select
        Selection.Interior.ColorIndex = i + 28
        Cells(i, 4) = i + 28
    Next
End Sub

Feche a janela e retorne ao excel.
Na guia Desenvolvedor clique no botão Macros.

Botão Macros

Na janelá que abrirá aparecerá a nossa Macro. Clique em Executar.

Janela macro

Pronto. Nosso código será executado e a tabela de cores montada no excel.

No código criado, repare no seguinte trecho:

Selection.Interior.ColorIndex = i

Como estamos dentro de um For o valor de i assumirá valores de 1 até 28, estes valores serão recebidos pela propriedade ColorIndex, colorindo assim o interior da seleção no momento.

Caso fosse utilizado a propriedade Color deveríamos trabalhar com cores Hexadecimais, os números de 1 a 56 só serão executados como cores na propriedade ColorIndex.

Dúvidas? Fique a vontade nos comentários.

Até a próxima.

Tags:

Alexander Lima

Formado em Sistemas de informação, ministrou aulas em cursos de informática por todo o Rio por mais de 9 anos. Trabalha com automação comercial, desenvolvendo aplicativos e organizando projetos.

Blog Comments

Ola, Na minha deu um erro na 4ª linha. Cheguei a trocar o ponto e virgula por uma virgula e deu outro erro. Tem como mostrar solução?

Olá Luiz. Perdoe a demora. Vou retomar o site agora, estive um tempo parado.

Estava olhando o código, e por um erro na codificação do HTML, acabou saindo “Range(“A” &amp i)”, não sei se foi esse o caso, mas retire este “amp”. Já acertei no site, verifique agora por favor.
Qualquer dúvida pode entrar em contato pelo e-mail “[email protected]”.
Obrigado.

Prez amigo.
Na minha macro que já tinha feito para colorir uma sequência de
células o 3 é preto. Pode me explicar?

Olá Jb Paulo.
Qual a versão do seu Excel? Pode enviar o código que usou na macro. Pois o 3 costuma ser a cor vermelha mesmo. Pesquisei rapidamente na internet e todas as outras referências que encontrei o 3 é vermelho. Seguem alguns links:

http://www.databison.com/wp-content/uploads/2009/08/excel-color-index-excel-2003.png
http://dmcritchie.mvps.org/excel/colors.htm
https://msdn.microsoft.com/pt-br/library/office/ff840443.aspx

Se puder cola aqui o código para eu analisar e ver se descubro.
Abraço.

Leave a Comment