Pergunte aqui
1

Realce de cor em célula ativa

perguntadas 2019-04-29 15:06:46 +0200

Alguém sabe como alterar o realce da célula ativa, borda, para também o fundo.

Descrição da imagem

Ou através de macro...

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

@Gilberto Shiavinatto não consegui entender o que precisa. Precisa alterar a cor, borda de uma célula ativa conforme alguma condição? Formatação Condicional não ajuda?

imagem do gravatar de ConradoConrado ( 2019-04-29 16:57:41 +0200 )editar

Ola @Conrado, a célula ativa sempre fica com a borda realçada e o número da linha e a letra da coluna, certo.

Gostaria de ter a opção de também o fundo da célula ficar de cor escolhida.

Ou seja na imagem acima a célula C9 é atualmente como fica a célula ativa, aparece a borda, gostaria que ficasse como em E9, aparecesse a borda e fundo.

Tenho esta macro:

Sub cellaattiva(Target) 
On Error Resume Next 
OldCell.IsCellBackgroundTransparent = true
Target.CellBackColor = RGB(194,224,174)
OldCell = Target
End Sub

que faz parcialmente, ela pinta a fundo qdo ativa, porem não tira quando o foco sai dela.

Ela esta ligada a Eventos de planilha / Seleção alterada.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-04-29 18:40:29 +0200 )editar

E se vc mudasse o código da linha 3

OldCell.IsCellBackgroundTransparent = true

-- por esse código:

OldCell.CellBackColor = RGB(255,255,255)
imagem do gravatar de mrkalvinmrkalvin ( 2019-04-30 03:29:20 +0200 )editar

@mrkalvin , infelizmente não resolveu...

Segue arquivo teste...

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-04-30 12:25:23 +0200 )editar

2 Respostas

0

respondidas 2019-04-30 14:04:22 +0200

@mrkalvin, @Conrado cheguei em uma solução alternativa...

usei formatação condicional:

A formula é: OU(A1="";A1<>""), colocar SemFundo (Fundo transparente), em conjunto com a macro:

Sub cellaattiva(Target) 
Target.CellBackColor = RGB(194,224,174)
OldCell = Target
End Sub

A célula fica colorida qdo inicia a digitação, ao dar Enter volta a ser transparente.

Coloquei a Condicional, em A1 para copiar onde necessária, pois existem células coloridas por outro motivo, se fosse a Condicional para a planilha toda não teria como colorir qualquer célula.

Arquivo teste2...

Não é o ideal, mas ficou mais próximo, continuo aceitando sugestão.

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2019-04-30 13:02:09 +0200

imagem do gravatar de Conrado

@Gilberto Schiavinatto

Teste este

Sub ChangeCellColor
oSel = ThisComponent.CurrentSelection(0)
If oSel.supportsService("com.sun.star.sheet.SheetCell") Then
   CurrentColor = oSel.CellBackColor
   If CurrentColor = -1 Then
        oSel.CellBackColor = RGB(194,224,174)
   else
        oSel.CellBackColor = -1
End if
End if
End Sub

Pode deixar com o Evento Seleção Alterada, mas para mudar de cor, precisa clicar uma segunda vez.

editar assinalar como ofensivo Excluir Link mais

Comentários

1

@Conrado, já havia chegado nesta solução, obrigado.

Mas encontrei uma saída.... vide Resposta

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-04-30 13:50:51 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-04-29 15:06:46 +0200

Lidas: 33 vezes

Última atualização: Apr 30