جرب التالي ..
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
وإن كنت لا أرى أن هناك داعي لمثل هذا الأمر ..
الزيادة فقط في سطر واحد بمجرد أن تمسح الدرجة يقوم بمسح الصف الخاص بمحتويات هذا الاسم