شرح مبسط للكود
Sub Test_Yasser()
'متغير واي ونستخدمه في الحلقة التكرارية الاولى ليرمز لرقم الشيت
'متغير اكس وهو خاص بالحلقة التكرارية الثانية ويقوم بعد عدد الاسطر الموجود باه بيانات لمقارنة كل بيان بصفحته
'المتغير اس تي ار متغير من نوع نصى ليشير الى اسم الشيت وهو يساوي العمود الخاص بأسماء الصفحات
Dim Y, X, str As String
'هنا المتغير واي يبدأ من 2 الى 4 وهي عدد الصفحات من بعد الاولي حتى الاخيرة
For Y = 2 To 4
'هنا يتم المرور على كل الشيتات المحددة في الحلقة بخلاف الشيت الاول ومسح محتوياتهم تمهيدا لجلب المحتوى الجديد
Sheets(Y).Range("C6:F" & Sheets(Y).Cells(Rows.Count, 3).End(xlUp).Row).ClearContents
Next
'هناحلقة تكرارية تبدأ بأول صف بيانات وهو 6 حتى نهاية البيانات بالصفحة الرئيسية
For X = 6 To Cells(Rows.Count, 3).End(xlUp).Row
'المتغيرالخاص بخليه اسم الشيت حتى يتم نسخ البيانات اليه
str = Cells(X, 6)
'هنا يتم نسخ كل صف داخل الحلقة التكرارية ووضعه في الشيت المذكور اسمه بجانب البيانات
'بفرض في هذا المثال ان المتغير اكس بيساوي 6 في اول حلقة له يبقي السطر البرمجي يصبح هكذا
' Range("C6:F6").Copy Sheets("الشركة").Range("C" & Sheets("الشركة").Cells(Rows.Count, 3).End(xlUp).Row + 1)
Range("C" & X & ":F" & X).Copy Sheets(str).Range("C" & Sheets(str).Cells(Rows.Count, 3).End(xlUp).Row + 1)
Next
MsgBox "Done........", 64
End Sub