جرب هذا الكود
 
	الكود لا ينفذ العمل الا اذا امتلأ اخر صف في الجدول
 
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