Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row < 5 Or Target.Column <> 2 Then Exit Sub
Application.EnableEvents = False
Target = UCase(Target)
Me.Sort.SortFields.Clear
Me.Sort.SortFields.Add Key:=Range("B5:B" & Range("B65000").End(xlUp).Row), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Me.Sort
.SetRange Range("B5:B" & Range("B65000").End(xlUp).Row)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.EnableEvents = True
End Sub