Notifications
Clear all

Evidenciar linha quando selecionar célula da planilha

3 Posts
2 Usuários
0 Reactions
32 Visualizações
(@fjunior)
Posts: 2
New Member
Topic starter
 

Olá. Eu tenho uma planilha no excel com uma formatação condicional e com a seguinte macro para evidenciar a linha correspondente DENTRO do intervalo A5:I104, caso alguma célula do mesmo intervalo seja selecionada:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

' Verifica se a célula selecionada está dentro do intervalo desejado
If Not Intersect(Target, Range("A5:I104")) Is Nothing Then

'Evidenciar a linha da planilha ao selecionar uma célula

Application.Calculate

End If

End Sub

Se eu selecionar uma célula fora do intervalo A5:I104, o código funciona corretamente sem colorir nenhuma célula do intervalo A5:I104. Porém, se eu digitar ou deletar alguma coisa em uma célula fora do intervalo (Ex: dentro do intervalo L5:U104), a linha correspondente dentro do intervalo A5:I104 NÂO deveria ser colorida, mas está ocorrendo esse erro.  Lembrando que as células da planilha já possuem um outro preenchimento de cor.

Como não tenho muito conhecimento em excel, gostaria que me ajudassem a descobrir o que estou fazendo de errado. A planilha está em anexo. 

Desde já, obrigado!

 
Postado : 28/03/2025 2:55 pm
(@osvaldomp)
Posts: 887
Prominent Member
 

Substitua o seu código atual por esse abaixo.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Range("A5:I104").FormatConditions.Delete
 If Not Intersect(Target, Range("A5:I104")) Is Nothing Then
  With Range("A5:I104")
   .FormatConditions.Add Type:=xlExpression, Formula1:="=LIN()=CÉL(""lin"")"
   .FormatConditions(1).Interior.Color = vbRed
  End With
 End If
End Sub

Osvaldo

 
Postado : 29/03/2025 2:23 pm
(@fjunior)
Posts: 2
New Member
Topic starter
 

Bom dia Osvaldo!

Obrigado pela ajuda. Funcionou perfeitamente!!!

 
Postado : 31/03/2025 9:14 am