كيف تُشغّل ماكروًا واحدًا عبر عدة مصنفات في آنٍ واحد؟
غالبًا ما يتطلب التعامل مع عدة ملفات من مصنفات Excel تكرار نفس العملية أو مهمة الأتمتة عبر كل ملف على حدة. ففتح كل مصنف يدويًّا لتشغيل ماكرو لا يستغرق وقتًا طويلاً فحسب، بل يرفع أيضًا احتمالية الوقوع في أخطاء—خاصةً عند التعامل مع دُفعات كبيرة من الملفات. ولذلك، تُعد أتمتة هذه العملية ضرورةً حتميةً لتعزيز الإنتاجية والدقة معًا.
باستخدام VBA (Visual Basic for Applications)، يمكنك أتمتة سير عملك لتشغيل ماكرو تلقائيًا على كل مصنف موجود في مجلد معيّن، مما يوفّر وقتك ويضمن اتساق النتائج. يشرح هذا الدليل كيفية إعداد حل VBA واستخدامه لتنفيذ الماكرو المطلوب عبر عدة ملفات مصنفات دون الحاجة إلى فتح كل ملف يدويًا.
تشمل السيناريوهات النموذجية التي تكون فيها هذه الطريقة مفيدة ما يلي:
- تطبيق التنسيقات أو العمليات الحسابية على مجموعة من التقارير الشهرية
- توحيد خطوات تنظيف البيانات عبر مجموعة من ملفات تصدير البيانات
- تحديث القوالب دُفعيًا أو إضافة هياكل إلى ملفات قديمة
تشغيل نفس الماكرو عبر عدة مصنفات باستخدام كود VBA
لتنفيذ نفس الماكرو بكفاءة عبر عدة مصنفات دون الحاجة إلى فتح كل منها يدويًا، يمكنك استخدام برنامج نصي VBA مصمم خصيصًا للمعالجة الدُفعية. تتيح لك هذه الطريقة اختيار مجلدٍ ما، ليتم بعد ذلك معالجة جميع ملفات المصنفات الموجودة فيه تلقائيًا — مما يجعلها الخيار الأمثل لمعظم مهام أتمتة الماكرو الشائعة.
قبل أن تبدأ:
- جميع ملفات المصنفات الهدف مغلقة، وسيقوم البرنامج النصي بفتحها ومعالجتها تلقائيًا حسب الحاجة.
- الماكرو الذي ترغب في تشغيله لا يجب أن يتطلب أي تفاعل من المستخدم (مثل مربعات الرسائل أو مطالبات الإدخال)، لأن المعالجة الدُفعية ستتوقف فور ظهور أي مربعات حوار.
- لقد قمت بحفظ عملك، لأن معالجة الماكرو الدُفعية لا يمكن التراجع عنها بسهولة وقد تُعيد كتابة البيانات إذا لم يُكتب الكود بعناية.
اتبع الخطوات التالية لتطبيق ماكرو عبر عدة مصنفات:
1. اضغط مع الاستمرار على مفتاحَي «ALT + F11» لفتح نافذة «Microsoft Visual Basic for Applications».
2. في محرر VBA المفتوح، انقر فوق "إدراج« > »وحدة نمطية" لإنشاء وحدة جديدة، ثم الصق الماكرو المقدَّم في نافذة الوحدة النمطية الفارغة.
كود VBA: تشغيل نفس الماكرو على عدة مصنفات في الوقت نفسه:
Sub LoopThroughFiles()
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Do While xFileName <> ""
With Workbooks.Open(xFdItem & xFileName)
'your code here
End With
xFileName = Dir
Loop
End If
End Sub
ملاحظات ونصائح مهمة:
- في الكود أعلاه، ابحث عن السطر
With Workbooks.Open(xFdItem & xFileName). عليك نسخ ولصق كود الماكرو المطلوب (باستثناء سطري)SubوEnd Sub) بين هذا السطر وسطرEnd With، ليتم تنفيذ العملية داخل كل مصنف يتم فتحه. - تحقق مجددًا من منطق الماكرو والمسارات لضمان معالجة دُفعية صحيحة، وفكّر في اختباره أولًا على مجموعة صغيرة من الملفات إذا كان ماكروك سيُجري تغييرات على البيانات.
انظر لقطة الشاشة التي توضح مكان لصق منطق الماكرو الخاص بك:

3. اضغط على مفتاح "F5" في محرر VBA لتشغيل البرنامج النصي، وستظهر لك نافذة اختيار المجلد.
4. في نافذة «استعراض»، اختر المجلد الذي يحتوي على جميع المصنفات التي ترغب في معالجتها؛ وسيقوم البرنامج النصي تلقائيًا بمعالجة كل ملف Excel موجود في هذا الموقع وتشغيل منطق الماكرو الخاص بك.

5. انقر فوق «موافق» لبدء عملية المعالجة الدُفعية. سيتم تنفيذ قسم الماكرو الذي أضفته عبر جميع المصنفات المستهدفة في المجلد المحدد، وقد تستغرق الدُفعات الأكبر وقتًا أطول وفقًا لتعقيد الماكرو وعدد الملفات.
- أمان الماكرو:إذا طُلب منك ذلك، فعَطِّل الحماية أو شغِّل الماكرو من موقع موثوق.
- نوع الملف الهدف:نمط
*.xls*يشمل.xlsx،.xlsm، و.xlsb. عدّل النمط حسب الحاجة. - التسمية الكاملة داخل كتلة With:استخدم النقاط البادئة (مثل:
.Worksheets("Sheet1")) لضمان تطبيق الإجراءات على المصنف المفتوح.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل