Sub Transfer_Data_In_Merged_Cells_From_Sheet_To_Another()
Rem الإعلان عن المتغيرات ومنها مصفوفة سيكون عدد الأعمدة فيها 4 وتعبر عن النتائج
Dim a(1 To 10000, 1 To 4), ws As Worksheet, sh As Worksheet, lr As Long, r As Long, m As Long
Rem إيقاف اهتزاز الشاشة لتسريع الكود
Application.ScreenUpdating = False
Rem تعيين ورقة العمل التي يتم ترحيل البيانات منها
Set ws = ThisWorkbook.Worksheets("seer")
Rem تعيين ورقة العمل التي يتم ترحيل البيانات إليها
Set sh = ThisWorkbook.Worksheets("Rsd")
Rem تحديد رقم آخر صف به بيانات بناءً على العمود الثالث في ورقة البيانات
lr = ws.Cells(Rows.Count, "C").End(xlUp).Row
Rem حلقة تكرارية من الصف الخامس لآخر صف به بيانات وبتخطي 4 صفوف
For r = 5 To lr Step 4
Rem استخدام المتغير كعداد ويزيد في كل مرة بمقدار واحد
m = m + 1
Rem وضع المسلسل في أول عمود في المصفوفة
a(m, 1) = m
Rem وضع رقم الجلوس في العمود الثاني في المصفوفة
a(m, 2) = ws.Cells(r, 2).Value 'Seat Number
Rem وضع اسم الطالب في العمود الثالث في المصفوفة
a(m, 3) = ws.Cells(r, 3).Value 'Student Name
Rem وضع درجة الطالب في العمود الرابع في المصفوفة
a(m, 4) = ws.Cells(r, 5).Value 'Mark
Rem الانتقال للمجموعة التالية بعد تخطي 4 صفوف
Next r
Rem بدء التعامل مع الخلية في ورقة العمل التي سيتم ترحيل البيانات إليها
With sh.Range("A10")
Rem مسح النطاق بدايةً من الخلية وبامتداد 4 أعمدة مع استثناء أول 9 صفوف
.Resize(Rows.Count - 9, 4).ClearContents
Rem وضع نتائج المصفوفة في ورقة العمل الهدف
.Resize(UBound(a, 1), UBound(a, 2)).Value = a
End With
Rem استرجاع خاصية اهتزاز الشاشة في نهاية الكود
Application.ScreenUpdating = True
End Sub