عند العمل مع مصادر بيانات متنوعة ، قد تواجه صعوبة في تجميع العديد من المصنفات وأوراق العمل قبل الوصول إلى قطعة بيانات نهائية واحدة. تخيل موقفًا لديك فيه بضع مئات من كتب العمل لتجمعها قبل أن تتمكن حتى من بدء يومك.
لا أحد يرغب في قضاء ساعات طويلة في العمل على مصادر مختلفة ، وفتح كل مصنف ، ونسخ البيانات ولصقها من أوراق مختلفة ، قبل إنشاء مصنف واحد مدمج في النهاية. ماذا لو كان بإمكان ماكرو VBA القيام بذلك نيابة عنك؟
باستخدام هذا الدليل ، يمكنك إنشاء كود ماكرو Excel VBA الخاص بك لدمج مصنفات متعددة ، كل ذلك في غضون دقائق (إذا كانت ملفات البيانات كثيرة).
المتطلبات المسبقة لإنشاء كود ماكرو VBA الخاص بك
أنت بحاجة إلى مصنف واحد لإيواء التعليمات البرمجية لـ VBA ، بينما تكون بقية مصنفات البيانات المصدر منفصلة. بالإضافة إلى ذلك ، قم بإنشاء مصنف واحد موحّد لتخزين البيانات المدمجة من جميع مصنفاتك.
قم بإنشاء مجلد الدمج في موقعك المفضل لتخزين جميع مصنفاتك المصدر. عند تشغيل الماكرو ، سيتم التبديل بين كل مصنف مخزن داخل هذا المجلد ، ونسخ المحتويات من أوراق مختلفة ، ووضعها في المصنف الموحد.
إنشاء كود Excel VBA الخاص بك
بمجرد أن تنتهي المتطلبات المسبقة ، حان الوقت للتعمق في الكود والبدء في اختراق الأساسيات لتكييفها مع متطلباتك.
متعلق ب: ميزات Microsoft Excel المتقدمة التي يجب أن تعرفها
اضغط على Alt + F11 مفتاح في Excel لفتح محرر كود الماكرو VBA. الصق الكود المكتوب أدناه واحفظ الملف كمصنف ممكن بماكرو (.xlsm إطالة).
الملفات المفتوحة الفرعية ()
أعلن عن المتغيرات المستخدمة في كود فبا
Dim MyFolder As String ، MyFile As String ، wbmain As Workbook ، lastrow As Long
تعطيل هذه الوظائف لتحسين معالجة التعليمات البرمجية
مع التطبيق
.DisplayAlerts = خطأ
.ScreenUpdating = خطأ
انتهت بتغيير مسار المجلد حيث سيتم حفظ ملفاتك
MyFolder = InputBox ("أدخل مسار مجلد التوحيد") & "\"
تحديد مرجع المجلد في متغير ماكرو
MyFile = Dir (MyFolder)
افتح حلقة للتنقل عبر كل مصنف فردي مخزن في المجلد
افعل بينما Len (ملفي)> 0
تنشيط المصنف التوحيد
Windows ("التوحيد"). تنشيط
حساب آخر صف مأهول
النطاق ("a1048576"). حدد
اختيار. نهاية (xlUp)
خلية نشطة. الأوفست (1 ، 0)افتح المصنف الأول داخل مجلد التوحيد
المصنفات. افتح اسم الملف: = MyFolder & MyFile
ويندوز (ملفي)
قم بالتبديل بين كل ورقة داخل المصنفات لنسخ البيانات
خافت وورقة عمل
لكل ws في الأوراقث. تفعيل
ث. AutoFilterMode = خطأتجاهل الرأس وانسخ البيانات من الصف 2
إذا كانت الخلايا (2 ، 1) = "" إذن انتقل إلى 1GoTo 10
1: التالي
10: المدى ("a2: az20000") نسخ
Windows ("التوحيد"). تنشيط
الصق المحتويات المنسوخة
الورقة النشطة. معجون
ويندوز (ملفي)
أغلق المصنف المفتوح بمجرد لصق البيانات
ActiveWorkbook. قريب
إفراغ ذاكرة التخزين المؤقت لتخزين قيمة المصنف التالي
ملفي = Dir ()
افتح الملف التالي في المجلد
عقدة
'تمكين الوظائف المعطلة للاستخدام في المستقبل
مع التطبيق
.DisplayAlerts = صحيح
.ScreenUpdating = صحيح
انتهت ب
End Sub
شرح قانون VBA
الجزء الأول من الكود هو تحديد روتين فرعي ، والذي يحتوي على كل كود VBA الخاص بك. حدد الروتين الفرعي بـ الفرعية، متبوعًا باسم الرمز. يمكن أن يكون الاسم الفرعي أي شيء ؛ من الناحية المثالية ، يجب أن تحتفظ بالاسم ذي الصلة بالرمز الذي توشك على كتابته.
متعلق ب: مواقع الويب والمدونات لتعلم نصائح وحيل Excel
يتفهم Excel VBA المتغيرات التي ينشئها المستخدم وأنواع البيانات المطابقة التي تم الإعلان عنها باستخدام قاتمة (البعد).
لتحسين سرعة معالجة التعليمات البرمجية الخاصة بك ، يمكنك إيقاف تشغيل تحديث الشاشة وقمع جميع التنبيهات ، حيث يؤدي ذلك إلى إبطاء تنفيذ التعليمات البرمجية.
سيُطلب من المستخدم تحديد مسار المجلد حيث يتم تخزين ملفات البيانات. يتم إنشاء حلقة لفتح كل مصنف مخزن داخل المجلد ، ونسخ البيانات من كل ورقة ، وإلحاقها بالملف الدمج دفتر العمل.
يتم تنشيط مصنف التوحيد بحيث يتمكن Excel VBA من حساب آخر صف مملوء. يتم تحديد الخلية الأخيرة في ورقة العمل ، ويتم حساب الصف الأخير داخل المصنف باستخدام وظيفة الإزاحة. هذا مفيد للغاية ، عندما يبدأ الماكرو في إلحاق البيانات من الملفات المصدر.
عندما تفتح الحلقة الملف المصدر الأول ، تتم إزالة المرشحات من كل ورقة مفردة (إذا كانت موجود) ، وسيتم نسخ البيانات التي تتراوح من A2 إلى AZ20000 ولصقها في التوحيد دفتر العمل.
تتكرر العملية حتى يتم إلحاق كافة أوراق المصنف داخل المصنف الرئيسي.
متعلق ب: أفضل الدورات عبر الإنترنت لإتقان Excel المتقدم
أخيرًا ، يتم إغلاق الملف المصدر بمجرد لصق جميع البيانات. يتم فتح المصنف التالي حتى يتمكن ماكرو VBA من تكرار نفس الخطوات لمجموعة الملفات التالية.
يتم ترميز الحلقة للتشغيل حتى يتم تحديث جميع الملفات تلقائيًا في المصنف الرئيسي.
التخصيصات المستندة إلى المستخدم
في بعض الأحيان ، لا تريد أن تقلق بشأن المطالبات الداخلية ، خاصة إذا كنت المستخدم النهائي. إذا كنت تفضل ترميز مسار مجلد التوحيد في الكود ، فيمكنك تغيير هذا الجزء من الكود:
MyFolder = InputBox ("أدخل مسار مجلد التوحيد") & "\"
ل:
MyFolder = "مسار المجلد" & "\"
بالإضافة إلى ذلك ، يمكنك أيضًا تغيير مراجع الأعمدة ، حيث لم يتم تضمين الخطوة في هذا الرمز. ما عليك سوى استبدال مرجع عمود النهاية بآخر قيمة عمود مملوءة (AZ ، في هذه الحالة). عليك أن تتذكر أن آخر صف مملوء يتم حسابه عبر كود الماكرو ، لذلك تحتاج إلى تغيير مرجع العمود فقط.
لتحقيق أقصى استفادة من هذا الماكرو ، يمكنك استخدامه فقط لدمج المصنفات بنفس التنسيق. إذا كانت البنى مختلفة ، فلا يمكنك استخدام ماكرو VBA.
دمج مصنفات متعددة باستخدام Excel VBA Macro
يعد إنشاء رمز Excel VBA وتعديله أمرًا سهلاً نسبيًا ، خاصةً إذا كنت تفهم بعض الفروق الدقيقة داخل الكود. يعمل VBA بشكل منهجي من خلال كل سطر من التعليمات البرمجية ويتم تنفيذه سطراً بسطر.
إذا أجريت أي تغييرات على الكود ، فيجب عليك التأكد من عدم تغيير ترتيب الرموز ، لأن ذلك سيعطل تنفيذ الكود.
اجعل إدارة البيانات في غاية السهولة باستخدام وحدات ماكرو Excel هذه.
اقرأ التالي
- برمجة
- برمجة
- مايكروسوفت اكسل
يتمتع Gaurav Siyal بخبرة عامين في الكتابة ، ويكتب لسلسلة من شركات التسويق الرقمي ووثائق دورة حياة البرامج.
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
انقر هنا للاشتراك