Formatação de células no VBA
Formatação de células no VBA
A formatação de células é algo extremamente corriqueiro no Excel. Não
importa se a planilha é simples ou um relatório extenso, as pessoas sempre
irão formatar as células de alguma forma. Quando se usa código VBA para
gerar conteúdo novo se torna essencial formatar as células geradas de alguma
forma, para que o usuário não precise fazer isto posteriormente, perdendo
tempo precioso. Afinal, deixar as planilhas visualmente belas e agradáveis à
vista é algo que todos sempre almejam.
importa se a planilha é simples ou um relatório extenso, as pessoas sempre
irão formatar as células de alguma forma. Quando se usa código VBA para
gerar conteúdo novo se torna essencial formatar as células geradas de alguma
forma, para que o usuário não precise fazer isto posteriormente, perdendo
tempo precioso. Afinal, deixar as planilhas visualmente belas e agradáveis à
vista é algo que todos sempre almejam.
O Excel possui várias propriedades de formatação de células que serão
listadas aqui com um intuito de ser um guia de referência, um lugar onde
você provavelmente virá quando precisar lembrar de alguma formatação
específica. Vale notar que Cells é um objeto do tipo Range,
portanto quase todas as formas servem para ambos (com raras exceções).
listadas aqui com um intuito de ser um guia de referência, um lugar onde
você provavelmente virá quando precisar lembrar de alguma formatação
específica. Vale notar que Cells é um objeto do tipo Range,
portanto quase todas as formas servem para ambos (com raras exceções).
Aba Número:
A propriedade NumberFormat é equivalente a toda a aba
Número. Seu formato é o seguinte:
Número. Seu formato é o seguinte:
Range(“A1”).NumberFormat = “General”
No código de exemplo acima, General se refere à forma
Geral, ou seja, nenhuma formatação específica. Você deve conhecer
várias das formatações existentes, pois esta é uma das atividades mais
corriqueiras dos usuários de Excel.
Geral, ou seja, nenhuma formatação específica. Você deve conhecer
várias das formatações existentes, pois esta é uma das atividades mais
corriqueiras dos usuários de Excel.
Todas as opções e formas usadas no formato Personalizado
podem ser transcritas para este comando, lembrando que no VBA deve-se usar
a forma imperial, ou seja, ponto para separar decimal e vírgula para
separar milhar. Além disso, as opções de cores devem ser escritas em
inglês, como [Red] ao invés de [Vermelho].
podem ser transcritas para este comando, lembrando que no VBA deve-se usar
a forma imperial, ou seja, ponto para separar decimal e vírgula para
separar milhar. Além disso, as opções de cores devem ser escritas em
inglês, como [Red] ao invés de [Vermelho].
Experimente as várias formas que você costuma usar na área de Verificação imediata
no editor de VBA e veja as formatações possíveis. Note que as formatações
que você usar via código irão aparecer na lista de formatos
personalizados. Use por exemplo “000”, que mantém o número com três
dígitos, colocando zeros à esquerda e veja esse formato aparecer em Personalizado
na janela de formatação de células.
no editor de VBA e veja as formatações possíveis. Note que as formatações
que você usar via código irão aparecer na lista de formatos
personalizados. Use por exemplo “000”, que mantém o número com três
dígitos, colocando zeros à esquerda e veja esse formato aparecer em Personalizado
na janela de formatação de células.
Uma breve explicação sobre alguns caracteres especiais usados na
formatação:
formatação:
– 0: Formata números. O número de zeros à esquerda do ponto
decimal indica a quantidade mínima de dígitos exibidos, com zeros
preenchendo quando o número não tiver dígitos suficientes. À direita do
ponto decimal indica a quantidade de dígitos exibidos, arredondando caso
haja mais casas decimais que o desejado.
decimal indica a quantidade mínima de dígitos exibidos, com zeros
preenchendo quando o número não tiver dígitos suficientes. À direita do
ponto decimal indica a quantidade de dígitos exibidos, arredondando caso
haja mais casas decimais que o desejado.
– #: Formata números. Funciona de forma similar ao zero, mas não
preenche com zeros quando não há dígitos suficientes à esquerda do ponto
decimal e não exibe zeros não significativos à direita do ponto
decimal.
preenche com zeros quando não há dígitos suficientes à esquerda do ponto
decimal e não exibe zeros não significativos à direita do ponto
decimal.
– ?: Formata números. Funciona de forma similar ao zero, a única
diferença é que deixa um espaço caso não haja dígitos significativos à
direita do ponto decimal. É útil para alinhar os pontos decimais dos
números sem precisar preencher com zeros à direita.
diferença é que deixa um espaço caso não haja dígitos significativos à
direita do ponto decimal. É útil para alinhar os pontos decimais dos
números sem precisar preencher com zeros à direita.
– . (ponto decimal): Indica o ponto decimal nos números, que será exibida como uma vírgula
no Excel que use o formato brasileiro.
no Excel que use o formato brasileiro.
– , (vírgula): Indica o separador de milhar dos números, que será exibido como um
ponto no Excel que use o formato brasileiro. Também serve como escala de
número: cada vírgula ao final da máscara remove um milhar do número. É
útil no caso de número muito grandes e a forma de exibir for em escala de
milhares, milhões ou bilhões.
ponto no Excel que use o formato brasileiro. Também serve como escala de
número: cada vírgula ao final da máscara remove um milhar do número. É
útil no caso de número muito grandes e a forma de exibir for em escala de
milhares, milhões ou bilhões.
– %: Usado para exibição de percentuais. Atente ao fato de que 1
com essa máscara equivale a 100%.
com essa máscara equivale a 100%.
– E+ e E-: É usado para notação científica. O número de
zeros à direita do sinal + ou – indica a quantidade de dígitos que serão
exibidos após o sinal. A máscara antes do E define o formato de exibição
dos números.
zeros à direita do sinal + ou – indica a quantidade de dígitos que serão
exibidos após o sinal. A máscara antes do E define o formato de exibição
dos números.
– ; (ponto e vírgula): Serve para separar até quatro seções com diferentes formatações. A
primeira se refere aos números positivos, a segunda aos negativos, a
terceira ao zero e a quarta a texto.
primeira se refere aos números positivos, a segunda aos negativos, a
terceira ao zero e a quarta a texto.
– @: Indica texto. Se for a única formatação, tudo que for
digitado nesta célula será considerado texto. É mais utilizado em seções
(item acima), como a quarta seção.
digitado nesta célula será considerado texto. É mais utilizado em seções
(item acima), como a quarta seção.
– _: Acrescenta um espaço equivalente ao caractere à direita do
mesmo. Muito usado com parênteses em seções de números positivos quando o
negativo possui parênteses, de forma a alinhar o ponto decimal.
mesmo. Muito usado com parênteses em seções de números positivos quando o
negativo possui parênteses, de forma a alinhar o ponto decimal.
– *: Repete o caractere à direita até preencher a célula. “R$ *
#,##0.00” repete o caractere de espaço, deixando o sinal de moeda alinhado
à esquerda e o número alinhado à direita.
#,##0.00” repete o caractere de espaço, deixando o sinal de moeda alinhado
à esquerda e o número alinhado à direita.
Aba Alinhamento:
Para alinhamento, há duas propriedades: HorizontalAlignment e
VerticalAlignment. A primeira é de longe a mais utilizada. Sua
forma de uso:
VerticalAlignment. A primeira é de longe a mais utilizada. Sua
forma de uso:
Range(“A1”).HorizontalAlignment = xlLeft
Range(“A1”).VerticalAlignment = xlBottom
Para o alinhamento horizontal, temos cinco opções básicas: xlLeft,
xlCenter, xlRight, xlJustify e xlDistributed,
alinham a célula à esquerda, centralizado, à direita, justificado à
esquerda e justificado centralizado, respectivamente. Há também a opção
xlCenterAcrossSelection, que será tratada mais adiante.
xlCenter, xlRight, xlJustify e xlDistributed,
alinham a célula à esquerda, centralizado, à direita, justificado à
esquerda e justificado centralizado, respectivamente. Há também a opção
xlCenterAcrossSelection, que será tratada mais adiante.
Para o alinhamento vertical, também temos cinco opções básicas:
xlTop, xlCenter, xlBottom, xlJustify e
xlDistributed que alinham acima, centralizado, abaixo e justificado
respectivamente (xlJustify e xlDistributed aparentam ter o
mesmo resultado).
xlTop, xlCenter, xlBottom, xlJustify e
xlDistributed que alinham acima, centralizado, abaixo e justificado
respectivamente (xlJustify e xlDistributed aparentam ter o
mesmo resultado).
A propriedade IndentLevel equivale ao Recuo
na janela de formatação de células. Aceita valores entre 0 e 15, sendo 0
equivalente a nenhum recuo. Quando maior o valor, maior o recuo.
Exemplo:
na janela de formatação de células. Aceita valores entre 0 e 15, sendo 0
equivalente a nenhum recuo. Quando maior o valor, maior o recuo.
Exemplo:
Range(“A1”).IndentLevel = 2
Alternativamente, pode-se usar a propriedade AddIndent, que é uma
propriedade booleana, ou seja, aceita apenas valores True ou
False. True acrescenta um recuo, enquanto False é o
valor padrão, ou seja, sem recuo. Exemplo:
propriedade booleana, ou seja, aceita apenas valores True ou
False. True acrescenta um recuo, enquanto False é o
valor padrão, ou seja, sem recuo. Exemplo:
Range(“A1”).AddIndent = True
Outra propriedade importante no alinhamento é WrapText, que define
se o texto da célula pode ser quebrado em várias linhas ou não. Também é
uma propriedade booleana: True quebra o texto automaticamente,
False mantém o texto em uma única linha. Exemplo:
se o texto da célula pode ser quebrado em várias linhas ou não. Também é
uma propriedade booleana: True quebra o texto automaticamente,
False mantém o texto em uma única linha. Exemplo:
Range(“A1”).WrapText = True
Também tem a propriedade booleana ShrinkToFit, que equivale à
opção Reduzir para caber. Quando True reduz o corpo do texto
para caber na célula, enquanto False mantém o texto no tamanho
definido.
opção Reduzir para caber. Quando True reduz o corpo do texto
para caber na célula, enquanto False mantém o texto no tamanho
definido.
Range(“A1”).ShrinkToFit = True
Já a propriedade booleana MergeCells trata da mesclagem de
células. True define se o intervalo de células será mesclado,
enquanto False não será mesclado. Também é possível usar os métodos
Merge para mesclar e UnMerge para separar células. Veja
exemplos:
células. True define se o intervalo de células será mesclado,
enquanto False não será mesclado. Também é possível usar os métodos
Merge para mesclar e UnMerge para separar células. Veja
exemplos:
Range(“A1:D1”).MergeCells = True
Range(“A1:D1”).Merge
Range(“A1:D1”).UnMerge
Trabalhar com células mescladas pode acabar dando dor de cabeça,
principalmente quando é preciso copiar e colar células. Há uma alternativa
que é usar a propriedade HorizontalAlignment com valor
xlCenterAcrossSelection. No exemplo abaixo o conteúdo da célula A1
será distribuído entre as células A1 a D1, de maneira semelhante à
mesclagem, mas mantendo as células individualmente separadas:
principalmente quando é preciso copiar e colar células. Há uma alternativa
que é usar a propriedade HorizontalAlignment com valor
xlCenterAcrossSelection. No exemplo abaixo o conteúdo da célula A1
será distribuído entre as células A1 a D1, de maneira semelhante à
mesclagem, mas mantendo as células individualmente separadas:
Range(“A1:D1”).HorizontalAlignment = xlCenterAcrossSelection
Se você acrescentar algum valor a alguma das variáveis entre B1 e D1,
haverá uma quebra na distribuição, fazendo a centralização somente com as
células livres à direita no intervalo. Observe a imagem:
haverá uma quebra na distribuição, fazendo a centralização somente com as
células livres à direita no intervalo. Observe a imagem:
Ao contrário do que se pode imaginar, não há a opção
xlCenterAcrossSelection para a propriedade
VerticalAlignment.
xlCenterAcrossSelection para a propriedade
VerticalAlignment.
A propriedade Orientation
trata da orientação da célula, ou seja, a inclinação. É possível associar
valores entre -90 e 90, além de algumas constantes: xlDownward
(equivalente a -90), xlHorizontal (equivalente a 0), xlUpward
(equivalente a 90) e xlVertical, que coloca o texto na vertical (observe na tela de formatação de
alinhamento para entender). Exemplo:
trata da orientação da célula, ou seja, a inclinação. É possível associar
valores entre -90 e 90, além de algumas constantes: xlDownward
(equivalente a -90), xlHorizontal (equivalente a 0), xlUpward
(equivalente a 90) e xlVertical, que coloca o texto na vertical (observe na tela de formatação de
alinhamento para entender). Exemplo:
Range(“A1”).Orientation = xlUpward
Já a propriedade ReadingOrder equivale ao campo
Direção do texto. Possui os seguintes valores possíveis:
xlContext (contexto, que é o valor padrão), xlLTR (da
esquerda para a direita) e xlRTL (da direita para a esquerda).
Exemplo:
Direção do texto. Possui os seguintes valores possíveis:
xlContext (contexto, que é o valor padrão), xlLTR (da
esquerda para a direita) e xlRTL (da direita para a esquerda).
Exemplo:
Range(“A1”).ReadingOrder = xlContext
Aba Fonte:
O objeto Font é equivalente a toda a aba Fonte e possui
diversas propriedades. A propriedade Name, como o nome sugere,
define o tipo de letra que será utilizado. Já a propriedade
Size define o tamanho do corpo do texto. O exemplo abaixo formata a
célula A1 como Arial tamanho 12:
diversas propriedades. A propriedade Name, como o nome sugere,
define o tipo de letra que será utilizado. Já a propriedade
Size define o tamanho do corpo do texto. O exemplo abaixo formata a
célula A1 como Arial tamanho 12:
Range(“A1”).Font.Name = “Arial”
Range(“A1”).Font.Size = 12
As propriedades Bold e Italic formatam a célula como negrito e itálico,
respectivamente. Há a opção de usar outra propriedade chamada FontStyle.
Veja os exemplos:
respectivamente. Há a opção de usar outra propriedade chamada FontStyle.
Veja os exemplos:
Range(“A1”).Font.Bold = True
Range(“A1”).Font.Italic = True
Range(“A1”).Font.FontStyle = “Bold Italic”
Vale notar que Bold e Italic são propriedades booleanas,
enquanto FontStyle é do tipo string, portanto cuidado para
não colocar texto inválido. A vantagem de FontStyle é poder usar aspas
duplas (ou seja, nenhum valor) para resetar as propriedades da célula.
enquanto FontStyle é do tipo string, portanto cuidado para
não colocar texto inválido. A vantagem de FontStyle é poder usar aspas
duplas (ou seja, nenhum valor) para resetar as propriedades da célula.
A propriedade Underline define se o texto será sublinhado ou não.
Aceita os seguintes valores: xlUnderlineStyleNone (nenhum
sublinhado), xlUnderlineStyleSingle (sublinhado simples),
xlUnderlineStyleDouble (sublinhado duplo),
xlUnderlineStyleSingleAccounting (sublinhado contábil simples) e
xlUnderlineStyleDoubleAccounting (sublinhado contábil duplo). Forma
de uso:
Aceita os seguintes valores: xlUnderlineStyleNone (nenhum
sublinhado), xlUnderlineStyleSingle (sublinhado simples),
xlUnderlineStyleDouble (sublinhado duplo),
xlUnderlineStyleSingleAccounting (sublinhado contábil simples) e
xlUnderlineStyleDoubleAccounting (sublinhado contábil duplo). Forma
de uso:
Range(“A1”).Font.Underline = xlUnderlineStyleSingle
A propriedade booleana Strikethrough define se o texto será
tachado (True) ou não (False). As propriedades
Superscript e Subscript definem se o texto será sobrescrito
ou subscrito quando definidos como True, mas somente uma das duas ficará
ativa por vez, ou seja, habilitar uma desabilita a outra. Exemplo:
tachado (True) ou não (False). As propriedades
Superscript e Subscript definem se o texto será sobrescrito
ou subscrito quando definidos como True, mas somente uma das duas ficará
ativa por vez, ou seja, habilitar uma desabilita a outra. Exemplo:
Range(“A1”).Font.Strikethrough = True
Range(“A1”).Font.Superscript = False
Range(“A1”).Font.Subscript = False
Para definir a cor do texto da célula temos duas opções: Color e
ColorIndex. A primeira permite todas as cores, enquanto a segunda
permite usar cores pré-definidas com valores entre 0 e 56.
ColorIndex. A primeira permite todas as cores, enquanto a segunda
permite usar cores pré-definidas com valores entre 0 e 56.
A propriedade Color permite todas as cores e pode receber constantes do
Office (vbBlack, vbBlue, vbGreen, vbRed,
vbWhite e vbYellow), bem como pode usar em conjunto com a
função RGB (que recebe valores de 0 a 255 para os parâmetros vermelho,
verde e azul). Todos os exemplos abaixo definem a cor como vermelho:
Office (vbBlack, vbBlue, vbGreen, vbRed,
vbWhite e vbYellow), bem como pode usar em conjunto com a
função RGB (que recebe valores de 0 a 255 para os parâmetros vermelho,
verde e azul). Todos os exemplos abaixo definem a cor como vermelho:
Range(“A1”).Font.ColorIndex = 3
Range(“A1”).Font.Color = vbRed
Range(“A1”).Font.Color = RGB(255, 0, 0)
É possível formatar textos individualmente em uma célula usando o objeto
Character antes de Font. Coloque o texto ABC na célula A1 e
execute as seguintes linhas:
Character antes de Font. Coloque o texto ABC na célula A1 e
execute as seguintes linhas:
Range(“A1”).Characters(Start:=1, Length:=1).Font.ColorIndex = 3
Range(“A1”).Characters(Start:=2, Length:=1).Font.ColorIndex = 4
Range(“A1”).Characters(Start:=3, Length:=1).Font.ColorIndex = 5
O resultado será uma letra de cada cor, em vermelho, verde e azul. Vale
notar que isto só funciona para textos, não números. Desta forma você pode
formatar palavras diferentes, bastando tomar atenção onde cada palavra
começa (Start) e qual o comprimento de cada uma
(Length).
notar que isto só funciona para textos, não números. Desta forma você pode
formatar palavras diferentes, bastando tomar atenção onde cada palavra
começa (Start) e qual o comprimento de cada uma
(Length).
Aba Borda:
A formatação das bordas tem várias possibilidades. A mais simples é
utilizando o método BorderAround, que cria uma linha ao redor do
intervalo. Tem várias opções: LineStyle, Weight,
ColorIndex e Color. As duas últimas referem a cores e
funcionam exatamente como visto anteriormente em fontes. Apenas uma das
duas é necessária, escolha a melhor para o momento.
utilizando o método BorderAround, que cria uma linha ao redor do
intervalo. Tem várias opções: LineStyle, Weight,
ColorIndex e Color. As duas últimas referem a cores e
funcionam exatamente como visto anteriormente em fontes. Apenas uma das
duas é necessária, escolha a melhor para o momento.
LineStyle
define o tipo da linha e pode ter os seguintes valores: xlNone (nenhuma linha), xlDot (pontilhado), xlDashDotDot
(traço-ponto-ponto), xlDashDot (traço-ponto), xlDash (tracejado), xlSlantDashDot
(traço inclinado-ponto), xlContinuous (linha contínua) e xlDouble (linha dupla).
define o tipo da linha e pode ter os seguintes valores: xlNone (nenhuma linha), xlDot (pontilhado), xlDashDotDot
(traço-ponto-ponto), xlDashDot (traço-ponto), xlDash (tracejado), xlSlantDashDot
(traço inclinado-ponto), xlContinuous (linha contínua) e xlDouble (linha dupla).
Weight
define a espessura da linha e pode ter os seguintes valores: xlHairline (fio de cabelo), xlThin (fino), xlMedium (médio) e xlThick (grosso).
define a espessura da linha e pode ter os seguintes valores: xlHairline (fio de cabelo), xlThin (fino), xlMedium (médio) e xlThick (grosso).
Mas atenção, que nem todas as combinações são possíveis. Alguns estilos
de linha e espessura são “independentes”, ou seja, ao serem definidos
automaticamente definem seu par. São eles: xlSlantDashDot, xlDouble e xlHairline.
de linha e espessura são “independentes”, ou seja, ao serem definidos
automaticamente definem seu par. São eles: xlSlantDashDot, xlDouble e xlHairline.
Com todas as características de linhas e espessuras conhecidos, podemos
ver como usar o método BorderAround:
ver como usar o método BorderAround:
Range(“B2:D4”).BorderAround linestyle:= xlContinuous, Weight
:=xlMedium
:=xlMedium
Esse comando irá colocar uma linha contínua de espessura média ao redor
do intervalo B2:D4, as linhas internas continuarão do jeito que estavam. O
que fazer para colocar uma linha ao redor de cada célula individual? Fazer
uma rotina de repetição para colocar a linha ao redor de cada uma ou usar
outra forma de colocar borda? Neste caso podemos usar a propriedade
Borders.
do intervalo B2:D4, as linhas internas continuarão do jeito que estavam. O
que fazer para colocar uma linha ao redor de cada célula individual? Fazer
uma rotina de repetição para colocar a linha ao redor de cada uma ou usar
outra forma de colocar borda? Neste caso podemos usar a propriedade
Borders.
Esta propriedade pode receber um parâmetro para definir qual das bordas
será alterada. As opções são as seguintes: xlDiagonalDown
(diagonal do superior esquerdo para inferior direito) xlDiagonalUp
(diagonal do inferior esquerdo para superior direito), xlEdgeLeft
(lateral esquerda da borda), xlEdgeTop
(lateral superior da borda), xlEdgeBottom
(lateral inferior da borda), xlEdgeRight
(lateral direita da borda), xlInsideVertical
(linhas internas verticais) e xlInsideHorizontal
(linhas internas horizontais).
será alterada. As opções são as seguintes: xlDiagonalDown
(diagonal do superior esquerdo para inferior direito) xlDiagonalUp
(diagonal do inferior esquerdo para superior direito), xlEdgeLeft
(lateral esquerda da borda), xlEdgeTop
(lateral superior da borda), xlEdgeBottom
(lateral inferior da borda), xlEdgeRight
(lateral direita da borda), xlInsideVertical
(linhas internas verticais) e xlInsideHorizontal
(linhas internas horizontais).
Assim, para preencher as linhas internas do intervalo B2:D4 para
complementar o comando anterior, usaremos o seguinte código:
complementar o comando anterior, usaremos o seguinte código:
Range(“B2:D4”).Borders(xlInsideVertical).LineStyle = xlContinuous
Range(“B2:D4”).Borders(xlInsideHorizontal).LineStyle = xlContinuous
Range(“B2:D4”).Borders(xlInsideVertical).Weight = xlMedium
Range(“B2:D4”).Borders(xlInsideHorizontal).Weight = xlMedium
Essa forma é trabalhosa, mas ainda assim é melhor que definir cada linha
individualmente. Felizmente, ainda há uma outra alternativa: quando a
propriedade Borders não recebe um parâmetro, as quatro linhas laterais de
cada célula do intervalo são definidas. Elimine as bordas anteriores e
teste o comando abaixo:
individualmente. Felizmente, ainda há uma outra alternativa: quando a
propriedade Borders não recebe um parâmetro, as quatro linhas laterais de
cada célula do intervalo são definidas. Elimine as bordas anteriores e
teste o comando abaixo:
Range(“B2:D4”).Borders.LineStyle = xlContinuous
Range(“B2:D4”).Borders.Weight = xlMedium
Você verá que todas as linhas externas e internas do intervalo receberam
bordas. É bem mais prático e menos trabalhoso definir as bordas desta
forma e depois alterar alguma em particular conforme a necessidade.
Aba Preenchimento:
O objeto Interior equivale à aba Preenchimento e possui
algumas propriedades já conhecidas, como Color e ColorIndex.
De longe são as mais usadas, mas há algumas outras propriedades
particulares interessantes.
algumas propriedades já conhecidas, como Color e ColorIndex.
De longe são as mais usadas, mas há algumas outras propriedades
particulares interessantes.
Na parte direita da janela duas caixas de combinação com opções relativas
a Padrão. Trata-se de um fundo para a célula, em um dos desenhos mostrados na
tela acima, que foi tirada com as opções exibidas. Esse fundo é definido
com a propriedade Pattern. De acordo com a imagem acima, da esquerda para a direita e de cima para
baixo, aceita os seguintes valores:
a Padrão. Trata-se de um fundo para a célula, em um dos desenhos mostrados na
tela acima, que foi tirada com as opções exibidas. Esse fundo é definido
com a propriedade Pattern. De acordo com a imagem acima, da esquerda para a direita e de cima para
baixo, aceita os seguintes valores:
– xlPatternSolid, xlPatternGray75, xlPatternGray50,
xlPatternGray25, xlPatternGray16, xlPatternGray8;
xlPatternGray25, xlPatternGray16, xlPatternGray8;
– xlPatternHorizontal, xlPatternVertical,
xlPatternDown, xlPatternUp, xlPatternChecker,
xlPatternSemiGray75;
xlPatternDown, xlPatternUp, xlPatternChecker,
xlPatternSemiGray75;
– xlPatternLightHorizontal, xlPatternLightVertical,
xlPatternLightDown, xlPatternLightUp, xlPatternGrid,
xlPatternCrissCross.
xlPatternLightDown, xlPatternLightUp, xlPatternGrid,
xlPatternCrissCross.
A propriedade PatternColor é semelhante à propriedade
Color e a propriedade PatternColorIndex é semelhante à
ColorIndex, não muda nada na forma de usar. Combine essas cores com
a cor de fundo (Color ou ColorIndex) e você pode fazer
combinação de cores. O exemplo abaixo deixa a célula com listras
horizontais vermelhas e amarelas:
Color e a propriedade PatternColorIndex é semelhante à
ColorIndex, não muda nada na forma de usar. Combine essas cores com
a cor de fundo (Color ou ColorIndex) e você pode fazer
combinação de cores. O exemplo abaixo deixa a célula com listras
horizontais vermelhas e amarelas:
Range(“A1”).Interior.Pattern = xlPatternHorizontal
Range(“A1”).Interior.PatternColor = vbYellow
Range(“A1”).Interior.Color = vbRed
A propriedade Gradient é de uso mais complexo e será adicionado
futuramente.
futuramente.
Aba Proteção:
Nesta aba temos apenas duas opções. Como a própria janela mostra, essas
opções só farão efeito quando a planilha for protegida.
opções só farão efeito quando a planilha for protegida.
Por padrão, todas as células são bloqueadas, como mostra a imagem. Caso
você precise proteger a planilha e queira que algumas células possam ser
editadas, a propriedade Locked
dessas células precisa ser definida como False.
você precise proteger a planilha e queira que algumas células possam ser
editadas, a propriedade Locked
dessas células precisa ser definida como False.
Range(“A1”).Locked = False
A opção Ocultas serve para ocultar as fórmulas na planilha, ou
seja, só faz sentido usar quando há fórmula na célula e não quer que o
usuário a visualize. Se for o caso, é preciso definir a propriedade
FormulaHidden como True:
seja, só faz sentido usar quando há fórmula na célula e não quer que o
usuário a visualize. Se for o caso, é preciso definir a propriedade
FormulaHidden como True:
Range(“A1”).FormulaHidden = True
Aqui termina a transposição das opções de formatação para os equivalentes
no VBA. Está extenso, mas acredito que deverá servir como um guia de
referência futura para muita gente.
no VBA. Está extenso, mas acredito que deverá servir como um guia de
referência futura para muita gente.
Pedro Martins
Formado em Tecnologia em Eletrônica Digital, já trabalhou como
artefinalista, eletrotécnico, programador de CLP (para máquinas
industriais) e analista de sistemas em sistema bancário, programando em
COBOL.
artefinalista, eletrotécnico, programador de CLP (para máquinas
industriais) e analista de sistemas em sistema bancário, programando em
COBOL.
Mexe com computadores e programação desde a segunda metade dos anos
1980, quando teve um MSX e aprendeu a programar em BASIC. É a favor da
disseminação do conhecimento.
1980, quando teve um MSX e aprendeu a programar em BASIC. É a favor da
disseminação do conhecimento.
Catálogo de aulas (NOVIDADE)
Criei um catálogo de aulas para ajudar você em seus estudos. Acesse clicando na imagem abaixo ou clique aqui.