Hi all,
Apology. The first code was incomplete. Here is the complete one.

Any help yet please from any one to incorporate hide code in change event . Preferably if that can delete the rows instead of hiding please..

Regards

Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("C4:C20") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Sheet2").Sort
        
        .SetRange Range("A3:K20")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
        End With
End Sub