Ir ao conteúdo
  • Cadastre-se

Destacar intervalo ativo sem perder a formatação


Posts recomendados

Olá amigos,

Antes de mais nada peço desculpas caso haja um tópico já sobre isso....

Procurei e não achei necessariamente isto.

 

Gostaria de uma VBA que deixasse em destaque a linha selecionada (ou intervalo especificado na linha selecionada), mas que ao passar para outra célula/linha eu não perca as formatações da linha anteriormente selecionada. (com da fonte,cor da célula....)

 

Achei VBAs que destacam entretanto, ao passar para próxima seleção  a formatação fica padrão (célula na cor branca etc)

 

 

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

Instale os comandos abaixo em um módulo comum, assim:
1. copie os comandos daqui
2. a partir de qualquer planilha tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole os comandos na janela em branco que vai se abrir

Public celAnt As StringPublic corAnt As Integer

Instale o código abaixo no módulo da planilha "Plan1", assim:
1. copie o código daqui
2. ainda no Editor de VBA dê duplo clique em "Plan1"
3. cole o código na janela em branco que vai se abrir

Private Sub Worksheet_SelectionChange(ByVal Target As Range)    If [P1] = 1 Then Exit Sub    If Target.Address = "$P$1" Then Range(celAnt).Interior.ColorIndex = corAnt: Exit Sub    If Target.Column > 15 Then Exit Sub    If celAnt = "" Then GoTo GetF        Range(celAnt).Interior.ColorIndex = corAnt        corAnt = Target.Interior.ColorIndex        Range(Cells(Target.Row, 1), Cells(Target.Row, 15)).Interior.ColorIndex = 15GetF:        celAnt = Range(Cells(Target.Row, 1), Cells(Target.Row, 15)).AddressEnd Sub

Instale os códigos abaixo no módulo de "EstaPasta_de_trabalho", assim:
1. copie os códigos daqui
2. ainda no editor de VBA dê duplo clique em "EstaPasta_de_trabalho"
3. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha

Private Sub Workbook_BeforeClose(Cancel As Boolean)  Sheets("Plan1").[P1].ActivateEnd SubPrivate Sub Workbook_Open()  Sheets("Plan1").[O1].ActivateEnd Sub

Salve o arquivo e só depois faça os testes.

 

funcionamento - o código pinta o intervalo "A:O" ao selecionar uma célula nesse intervalo, restabelece a cor anterior ao mudar a seleção.
 

Link para o comentário
Compartilhar em outros sites

Caro amigo Osvaldo,

Desde já lhe agradeço por estar empenhado em me ajudar....

Aparentemente fiz tudo como o explicado e notei algumas não conformidades, são elas:

1 - Ao selecionar uma linha ela se destaca como eu solicitei entretanto, não volta a cor da célula como estava antes de ser selecionada (a formatação e etc permanece como eu gostaria), fica uma corzinha lilás.

 

2 - Notei que ao selecionar um intervalo, ocorre um erro na VBA,  se houver a possibilidade de não ocorrer esse erro será excelente. (e não há necessidade do intervalo ficar em destaque) - Quando falo intervalo me refiro a uma seleção como por exemplo 3 linhas.....

 

Mais uma vez Obrigado!

Link para o comentário
Compartilhar em outros sites

1 - Ao selecionar uma linha ela se destaca como eu solicitei entretanto, não volta a cor da célula como estava antes de ser selecionada (a formatação e etc permanece como eu gostaria), fica uma corzinha lilás.

Talvez o Excel não esteja reconhecendo a cor exata anterior.

Tente alterando a cor de preenchimento que está no código. Coloque outras cores e faça os testes.

Nesta linha Range(Cells(Target.Row, 1), Cells(Target.Row, 15)).Interior.ColorIndex = 15, substitua o 15 do final da linha por outros valores.

 

2 - Notei que ao selecionar um intervalo, ocorre um erro na VBA,  se houver a possibilidade de não ocorrer esse erro será excelente. (e não há necessidade do intervalo ficar em destaque) - Quando falo intervalo me refiro a uma seleção como por exemplo 3 linhas.....

Para evitar o erro acrescente a segunda linha abaixo no código

Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Count > 1 Then Exit Sub

 

Olá, David.

Se ainda persistirem os problemas, por favor disponibilize uma amostra do seu arquivo com os códigos instalados.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...