كيفية الجمع بين مصنفات excel متعددة باستخدام vba؟

لدمج مصنفات Excel متعددة، تحتاج إلى استخدام بعض التعليمات البرمجية التي تتيح لك اختيار الملفات التي تريد دمجها أو يمكنك الرجوع إلى موقع مسار معين ودمج كافة ملفات Excel في المصنف الحالي.

يجمع VBA بين مصنفات متعددة

يمكنك استخدام الكود التالي الذي يستخدم الموقع الذي ذكرته في متغير المسار (مجلد على سطح مكتب النظام).

 Dim Path As String Dim Filename As String Dim Sheet As Worksheet Path = "C:UsersDellDesktopsample-data" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop

خطوات دمج ملفات Excel باستخدام VBA

  1. افتح محرر Visual Basic (تأكد من تمكين علامة تبويب المطور إذا كانت لديك بالفعل على الشريط).
    open the visual basic editor
  2. بعد ذلك، حدد موقع المصنف الحالي من نافذة المشروع (control + r) وأدخل وحدة نمطية جديدة فيه.
    locate the current workbook
  3. سيكون لديك نافذة تعليمات برمجية في الوحدة (انقر عليها نقرًا مزدوجًا) حيث تحتاج إلى لصق الرمز الذي لديك (كما هو).
    code window in the module
  4. من هنا، تحتاج إلى تغيير قيمة متغير المسار مع موقع المجلد الذي توجد به جميع ملفات Excel التي تريد دمجها.
    change the value for the path variable
  5. في النهاية، قم بتشغيل التعليمات البرمجية وستحصل على كافة أوراق العمل الموجودة في المصنف في الملف الحالي.

روابط مفيدة: تشغيل ماكرومسجل الماكرو – محرر Visual Basic – دليل وحدات الماكرو الشخصية

يفتح هذا الرمز كل ملف واحدًا تلو الآخر وينسخ كل ورقة عمل واحدة تلو الأخرى ويلصقها في الملف الحالي بنفس الاسم. إليك نفس الرمز ولكن مع تحديث الشاشة إلى خطأ في البداية لتشغيل كل شيء في الواجهة الخلفية.

 Dim Path As String Dim Filename As String Dim Sheet As Worksheet Application.ScreenUpdating = False Path = "C:UsersDellDesktopsample-data" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop Application.ScreenUpdating = True End Sub

ملاحظة: إذا كنت تريد معرفة كيفية دمج البيانات من مصنفات متعددة في جدول واحد، فتأكد من مراجعة هذا الدليل.

ما هو فبا

الدروس ذات الصلة

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *