Ir ao conteúdo
  • Cadastre-se
BrunoDimeira

Excel Mudar a cor da célula depois que for preenchida

Recommended Posts

Olá, preciso de uma ajuda sobre uma planilha que estou criando, para um controle de número de ofícios na prefeitura onde trabalho e não estou conseguindo criar uma formatação condicional pra isso.

O que eu preciso é que as células que estão com numerações mudem para a cor vermelha, quando a suas respectivas células que estão em baixo, sejam preenchidas com o nome ou setor de quem a utilizou.

 

Por exemplo, a célula A3 muda para a cor vermelha (indicando que já foi utilizada), quando for preenchido o nome ou o setor de quem a utilizou na célula em baixo, A4.

Segue a planilha em anexo. Ofício.xlsx

Ofício.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu pretendo compartilhar essa planilha na rede, e queria que a célula onde vai o nome ficasse bloqueado para alteração depois de preenchida é possível isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que só através de macro. Achei uma na internet e adaptei. Tenta essa aí:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ColunasA As Range
Set ColunasA = Range("A1:A8")
If Not Application.Intersect(ColunasA, Range(Target.Address)) Is Nothing Then
ActiveSheet.Unprotect ("m")
linha = Target.Row
Range("A" & linha).Locked = True
ActiveSheet.Protect ("m"), DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub

*Considerei o intervalo na coluna "A", entre A1 e A8. Experimente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

@lHenrique_10 Não deu certo, ta como se não tivesse nada de diferente pois ainda consigo alterar e excluir dados das células já preenchidas.

adicionado 13 minutos depois

Encontrei essa na Internet e deu certo, porém só funciona na coluna Q queria que funcionasse da celula A3 até a G58, por favor.

 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ColunasQ As Range
Set ColunasQ = Range("Q4:Q503")
If Not Application.Intersect(ColunasQ, Range(Target.Address)) Is Nothing Then
ActiveSheet.Unprotect ("m")
linha = Target.Row
Range("Q" & linha).Locked = True
ActiveSheet.Protect ("m"), DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×