Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As String, Dl As Long, Dc As Long
If Target.Count > 1 Or Target.Row = 1 Then Exit Sub
n = Target
Dl = Cells(Rows.Count, 1).End(xlUp).Row
Dc = Cells(Columns.Count).End(xlToLeft).Column
Application.EnableEvents = False
If Target.Column <> 4 And Target.Column <> 7 Then Target = UCase(Target)
If Target.Column = 1 Then
Range(Cells(2, 1), Cells(Dl, Dc)).Sort KEY1:=Range("A2")
[A:A].Find(n).Select
Else
Range("A" & Target.Row).Select 'ou Target.select ou ...
End If
Application.EnableEvents = True
End Sub