[Hola
en el evento change de tu hoja copia esto
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G2:G100")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Call ordenar
End If
End Sub
y el siguiente copia en un módulo
Sub ordenar()
'Fuente: Dante
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("G2:G100"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("A2:I100")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
y cuando escribas la fecha en la columna G se ordenará automáticamente.
Valora la respuesta como Excelente o bueno para finalizar saludos!