السلام عليكم ورحمة الله وبركاته
إخواني وأحبابي في الله
أثناء تصفحي للفيس بوك وجدت سؤال لأحد الأخوة بخصوص
ترحيل فواتير من صفحة لأخرى ..
وهذا هو السؤال:
الحقيقة أن موضوع الترحيل في غاية السهولة والبساطة .. كل ما عليك فعله أن تكون منطقي في التفكير
خطوات التفكير:
=========
أولاً لابد من تحديد ورقة العمل المراد الترحيل منها وسنرمز لها بالمتغير ws ، وكذلك تحديد ورقة العمل المراد الترحيل إليها وسنرمز لها بالرمز sh
ثانياً تحديد الصف المراد الترحيل إليه وعادةً يكون بالاعتماد على معرفة رقم آخر صف به بيانات مضاف إليه واحد ، لوضع البيانات المرحلة في أول صف فارغ بعد آخر صف به بيانات
ثالثاً مراعاة التنسيق لبعض الخلايا (وهذا الجزء اختياري وقد لا يحتاج إليه البعض) ، أو يمكن عمل التنسيق لعمود بالكامل بشكل يدوي دون اللجوء للكود
كود الحل:
=====
إليكم الكود المستخدم في الملف المرفق لتنفيذ عملية الترحيل
CODE
Sub Transfer_Bill_Data_To_Another_Sheet()
Dim ws As Worksheet, sh As Worksheet, lr As Long
Application.ScreenUpdating = False
Set ws = ThisWorkbook.Worksheets("البداية")
Set sh = ThisWorkbook.Worksheets("التخزين")
lr = sh.Cells(Rows.Count, 1).End(xlUp).Row + 1
sh.Cells(lr, 1).Resize(1, 16).Value = ws.Cells(2, 9).Resize(1, 16).Value
sh.Cells(lr, 15).NumberFormat = "m/d/yyyy h:mm"
Application.ScreenUpdating = True
MsgBox "Done...", 64
End Sub
الكود بسيط جداً حيث يتم إيقاف تنفيذ اهتزاز الشاشة ثم تعيين أوراق العمل التي سيتم التعامل معها ، ثم تعيين أول صف فارغ في الورقة المراد الترحيل إليها ، ثم تتم عملية الترحيل حيث يتم نسخ 16 عمود في امتداد الصف من ورقة البيانات لورقة النتائج ، وأخيراً يتم تنسيق العمود رقم 15 بتنسيق مخصص للحصول على شكل التاريخ والوقت بشكل صحيح ، ثم إرجاع خاصية اهتزاز الشاشة
أرجو أن يكون الموضوع مفيد لكم إن شاء الله ، مع العلم أن هذا الكود بسيط جداً وهو للمبتدئين ، ولكنه هام جداً لكثير من الناس
وأخيراً إليكم الملف المرفق ومطبق به الكود
رابط الملف من هنا
أخوكم في الله / ياسر خليل أبو البراء