Te anexo el código para desproteger la hoja, bloquear las celdas modificadas y volver proteger la hoja para que no se pueden modificar los datos.
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    clave = "abc"
    '
    If Not Intersect(Target, Range("A:E, G:G")) Is Nothing Then
        ActiveSheet.Unprotect clave
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        '
        For Each c In Target
            Range("H2:I2").Copy Cells(c.Row, "H")
        Next
        '
        u = Range("A" & Rows.Count).End(xlUp).Row
        With ActiveWorkbook.Worksheets("Hoja1").Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("B2:B" & u), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SortFields.Add Key:=Range("D2:D" & u), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SortFields.Add Key:=Range("E2:E" & u), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A1:I" & u)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        '
        an1 = Cells(2, "B")
        an2 = Cells(2, "D")
        an3 = Cells(2, "E")
        con = 0
        For i = 2 To u
            If an1 = Cells(i, "B") And _
               an2 = Cells(i, "D") And _
               an3 = Cells(i, "E") Then
                con = con + 1
            Else
                con = 1
            End If
            Cells(i, "F") = con
            an1 = Cells(i, "B")
            an2 = Cells(i, "D")
            an3 = Cells(i, "E")
        Next
        '
        With ActiveWorkbook.Worksheets("Hoja1").Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("A2:A" & u), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A1:I" & u)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        '
        If Not Intersect(Target, Range("G:G")) Is Nothing Then
            Range("A" & Target.Row & ":I" & Target.Row).Locked = True
        End If
        '
        ActiveSheet.Protect clave, DrawingObjects:=False, Contents:=True, _
            Scenarios:=False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
            AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, _
            AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
            AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
            AllowUsingPivotTables:=True
        '
        Application.EnableEvents = True
    End If
End SubTambién te envié el archivo para que lo pruebes, solamente cuando cambias el dato de la columna G se protegen las celdas de las columnas A a la I.