جرب التالي .. 
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target.Row > 91 Then
        If Target.Column = 37 Then
            Sheets("ELS").Cells(Target.Row - 86, "P").Value = Sheets("ELS").Cells(Target.Row - 86, "N").Value
            Sheets("ELS").Cells(Target.Row - 86, "N").Value = Sheets("ELS").Cells(Target.Row - 86, "L").Value
            Sheets("ELS").Cells(Target.Row - 86, "L").Value = Sheets("ELS").Cells(Target.Row - 86, "J").Value
            Sheets("ELS").Cells(Target.Row - 86, "J").Value = Sheets("ELS").Cells(Target.Row - 86, "H").Value
            Sheets("ELS").Cells(Target.Row - 86, "H").Value = Target.Value
        End If
        If Target.Column = 38 Then
            Sheets("ELS").Cells(Target.Row - 86, "Q").Value = Sheets("ELS").Cells(Target.Row - 86, "O").Value
            Sheets("ELS").Cells(Target.Row - 86, "O").Value = Sheets("ELS").Cells(Target.Row - 86, "M").Value
            Sheets("ELS").Cells(Target.Row - 86, "M").Value = Sheets("ELS").Cells(Target.Row - 86, "K").Value
            Sheets("ELS").Cells(Target.Row - 86, "K").Value = Sheets("ELS").Cells(Target.Row - 86, "I").Value
            Sheets("ELS").Cells(Target.Row - 86, "I").Value = Target.Value
        End If
        If IsEmpty(Target.Value) Then Sheets("ELS").Cells(Target.Row - 86, "H").Resize(, 10).ClearContents
    End If
End Sub
وإن كنت لا أرى أن هناك داعي لمثل هذا الأمر .. 
الزيادة فقط في سطر واحد بمجرد أن تمسح الدرجة يقوم بمسح الصف الخاص بمحتويات هذا الاسم