السلام عليكم و رحمة الله وبركاته
تم تنفيذ الكود المطلوب
Sub az()
'
Dim FS As Worksheet, TS As Worksheet
Dim FC, FR, TR, ER, Q1, Q2, Q3, SH
Set FS = Sheets("أمور الشغل")
ER = FS.UsedRange.Rows.Count
For FR = 2 To ER
Q1 = FS.Cells(FR, 4).Text ' المعدة
Q2 = FS.Cells(FR, 1).Value ' رقم امر التشغيل
For SH = 1 To ActiveWorkbook.Sheets.Count
If Sheets(SH).Name = Q1 Then
Set TS = Sheets(SH) ' ورقة السيارة
Q3 = Application.CountIf(TS.Range("A:A"), Q2)
If Q3 > 0 Then GoTo 3
TR = Application.CountA(TS.Range("A:A"))
4 If TS.Cells(TR, 1) <> "" Then
TR = TR + 1
GoTo 4
End If
For FC = 1 To 12
TS.Cells(TR, FC) = FS.Cells(FR, FC)
Next FC
End If
Next SH
3 Next FR
End Sub
و لكن نصيحة
الاسهل
هو استخدام الجداول المحورية
او
استخدام التصفية التلقائية
او
استخدام التصفية المتقدمة بالكود
و هذه الحلول افضل من استخدام الكود الموضح اعلاه
تحافظ على حجم الملف صغير
و
كل تعديل في بيانات الورقة الاولى يظهر فورا
ولك حرية الاختيار
شيت امور الشغل.xls