Excel VBA – Tabela de cores da propriedade colorindex

Excel VBA – Tabela de cores da propriedade colorindex

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.

Gostando do conteúdo? Está sendo útil? Insira seu E-mail abaixo e seja o primeiro a receber o conteúdo do blog.

FIQUE ATUALIZADO!

Coloque o seu email abaixo para receber gratuitamente as atualizações do blog!

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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:

1
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.

  • Luiz

    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 “falecom@alexanderlima.com”.
      Obrigado.

  • Jb Paulo

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