السلام عليكم ورحمة الله وبركاته
معي كود قمت بالتعديل عليه ولكن لم يضبط معي
ولا اعرف الخلل من اين؟؟؟؟
اريد ترحيل البيانات من صفحة الرصد الى صفحة الشيت

خطأ.rar
هذا هو الكود
CODE
Sub ترحيل_من_الرصد()
Rem الإعلان عن المتغيرات ومنها مصفوفة سيكون عدد الأعمدة فيها 4 وتعبر عن النتائج
Dim a(1 To 10000, 1 To 15), ws As Worksheet, sh As Worksheet, lr As Long, r As Long, m As Long
Rem إيقاف اهتزاز الشاشة لتسريع الكود
Application.ScreenUpdating = False
Rem تعيين ورقة العمل التي يتم ترحيل البيانات منها
Set ws = ThisWorkbook.Worksheets("الرصد")
Rem تعيين ورقة العمل التي يتم ترحيل البيانات إليها
Set sh = ThisWorkbook.Worksheets("الشيت")
Rem تحديد رقم آخر صف به بيانات بناءً على العمود الثالث في ورقة البيانات
lr = ws.Cells(Rows.Count, "C").End(xlUp).Row
Rem حلقة تكرارية من الصف الخامس لآخر صف به بيانات وبتخطي 4 صفوف
For r = 5 To lr
Rem استخدام المتغير كعداد ويزيد في كل مرة بمقدار واحد
m = m + 4
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, 5) = ws.Cells(r, 5).Value 'Mark
a(m, 6) = ws.Cells(r, 6).Value
Rem الانتقال للمجموعة التالية بعد تخطي 4 صفوف
Next r
Rem بدء التعامل مع الخلية في ورقة العمل التي سيتم ترحيل البيانات إليها
With sh.Range("A5")
Rem مسح النطاق بدايةً من الخلية وبامتداد 4 أعمدة مع استثناء أول 9 صفوف
.Resize(Rows.Count - 4, 29).ClearContents
Rem وضع نتائج المصفوفة في ورقة العمل الهدف
.Resize(UBound(a, 1), UBound(a, 2)).Value = a
End With
Rem استرجاع خاصية اهتزاز الشاشة في نهاية الكود
Application.ScreenUpdating = True
End Sub