A.L Desenvolvimento

AL Desenvolvimento

Tabela de cores completa da propriedade colorindex no Excel VBA

  • Home
  • Excel
  • Tabela de cores completa da propriedade colorindex no Excel VBA
Tabela de cores completa da propriedade Colorindex no Excel VBA

Usando o VBA no Excel nossos limites na ferramenta se ampliam até onde a imaginação e o conhecimento de programação permitirem irmos. É possível ampliar em muito os recursos do próprio Excel além de até mesmo criarmos novos recursos.

Uma das coisas possíveis de se fazer, por exemplo, é colorir de forma automática, ou seguindo regras previamente programadas, células no 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.

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 Comando

Visual Basic Comando

Na 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

Botão Macros

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

Janela macro - Excel

Janela macro – Excel

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.