Notifications
Clear all

PREENCIMENTO DE CELULA ATIVA

5 Posts
2 Usuários
0 Reactions
1,024 Visualizações
(@denilsonsl)
Posts: 0
New Member
Topic starter
 

Bom dia Mestres.

Estou precisando de uma ajuda.

O código abaixo é para preenchimento da célula ativa, mas estou com uma duvida em relação a coloração da célula que não estou encontrando uma coloração em verde bem claro....

Outro detalhe que não estou achando um código para deixas todas as células da linha seleciona em negrito.

Segue o codigo:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'O OBJETO "TARGET" RECEBE A CÉLULA QUE ACABA DE SER SELECIONADA,
'POR CLIQUE DO MOUSE OU PELO TECLADO

'DESCOBRINDO QUAL A ÚLTIMA LINHA PREENCHIDA NA PLANILHA
ULTIMA = Range("A3").End(xlDown).Row

'SAIR DO PROCEDIMENTO SE A CÉLULA SELECIONADA NÃO ESTIVER ENTRE AS LINHAS 7 E A ÚLTIMA PREENCHIDA.
If Target.Row < 3 Or Target.Row > ULTIMA Then Exit Sub

'SAIR DO PROCEDIMENTO SE A CÉLULA SELECIONADA NÃO ESTIVER ENTRE AS COLUNAS 1 E 47 (DE A ATÉ AU).
If Target.Column < 1 Or Target.Column > 47 Then Exit Sub

'APLICANDO PADRÃO INICIAL EM TODAS AS CÉLULAS DA TABELA
With Range("A3" & ":AU" & ULTIMA).Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With

'COM A LINHA SELECIONADA (TARGET.ROW), DEFININDO FORMATAÇÃO DE DESTAQUE
With Range("A" & Target.Row & ":AU" & Target.Row).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
End Sub

 
Postado : 18/12/2015 5:25 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Denilson, quanto a :

1º ) - em relação a coloração da célula que não estou encontrando uma coloração em verde bem claro
Como você quer uma cor especifica que não consta na tabela padrão de cores, o ideal é utilizar o gravador de macros formatando uma celula com a cor que deseja e depois utilizar o numero da cor como uma constante e adicionar uma variável para a mesma. Você pode dar uma olhada nesta tabela de cores, mas já adianto, por experiência própria, que o tom das cores ficaram diferentes quando o arquivo foi executado em outras maquinas, fato este devido as configurações de cores do monitor. Color Palette and the 56 Excel ColorIndex Colors - http://dmcritchie.mvps.org/excel/colors.htm

2º ) "não estou achando um código para deixas todas as células da linha seleciona em negrito"
Em sua rotina ao utilizar o With que representa um conjunto de ações a determinadas celulas sem ter de criar uma instrução para cada coisa que queremos, você já definiu como "interior", e a propriedade "font.Bold" não se aplica.
With Range("A" & Target.Row & ":AU" & Target.Row).Interior
Então para aplicar Negrito tem de alterar para :

'APLICANDO PADRÃO INICIAL EM TODAS AS CÉLULAS DA TABELA
With Range("A3" & ":AU" & ULTIMA)
    .Interior.Pattern = xlNone
    .Interior.TintAndShade = 0
    .Interior.PatternTintAndShade = 0
    .Font.Bold = False
End With

'COM A LINHA SELECIONADA (TARGET.ROW), DEFININDO FORMATAÇÃO DE DESTAQUE
With Range("A" & Target.Row & ":AU" & Target.Row)
    .Interior.Pattern = xlSolid
    .Interior.PatternColorIndex = xlAutomatic
    .Interior.ThemeColor = xlThemeColorAccent3
    .Interior.TintAndShade = 0.799981688894314
    .Interior.PatternTintAndShade = 0
    .Font.Bold = True
End With
 
Postado : 18/12/2015 6:06 am
(@denilsonsl)
Posts: 0
New Member
Topic starter
 

Perfeito Mauro....

 
Postado : 18/12/2015 6:24 am
(@denilsonsl)
Posts: 0
New Member
Topic starter
 

Mauro, uma duvida.

Levando em consideração com esse código, como faço para mudar a cor do preenchimento da célula ativa.

Por exemplo uma cor verde claro, como faço a referencia no código?

.Interior.Pattern = xlSolid
.Interior.PatternColorIndex = xlAutomatic
.Interior.ThemeColor = xlThemeColorAccent3
.Interior.TintAndShade = 0.799981688894314
.Interior.PatternTintAndShade = 0
.Font.Bold = True

 
Postado : 18/12/2015 6:33 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Quanto a Cor já expliquei acima, e em sua rotina você define uma cor personalizada para TEMA e já está referenciada conforme abaixo :
.Interior.ThemeColor = xlThemeColorAccent3 - Aqui a cor real definida
.Interior.TintAndShade = 0.799981688894314 - Aqui aplica a personalização

Quanto a :
como faço para mudar a cor do preenchimento da célula ativa
Não sei se entendi o que quer, pois na sua rotina está definido um determinado Range :
With Range("A3" & ":AU" & ULTIMA) - Limpa toda a formatação e cor no Range compreendido entre "A3 e AU & Ultima Linha

With Range("A" & Target.Row & ":AU" & Target.Row) - Aplica a formatação somente na linha independente da Celula Ativa desde que compreendida entre A3 e AU Target.ROW

Fiquei em duvida, se quer aplicar somente na Celula Ativa e desconsiderar a Linha ou quer dois tipos, uma para celula Ativa e outra para as demais celulas

[]s

 
Postado : 18/12/2015 6:58 am