جرب هذا الكود
الكود لا ينفذ العمل الا اذا امتلأ اخر صف في الجدول
Private Sub Worksheet_Change(ByVal Target As Range)
lr = Cells(Rows.Count, 2).End(3).Row
If Target.Row = lr Then
If Application.WorksheetFunction.CountA(Range(Cells(lr, 1), Cells(lr, 8))) = 8 Then
Range("A10:H" & lr).Select
ActiveWorkbook.Worksheets("مثال1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("مثال1").Sort.SortFields.Add Key:=Range("E11:E" & lr) _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"محاسب,شئون عاملين,مهندس ميكانيكا,مهندس كهرباء,سائق,فني تشغيل", DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("مثال1").Sort
.SetRange Range("A10:H" & lr)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End If
End Sub