نحتاج في بعض الأحيان إلى دمج أوراق من مصنفات Excel مختلفة لإنشاء تقرير جديد أو ملف بيانات مدمج. يمكن إجراء مثل هذه العملية يدويًا، باستخدام أدوات MS Excel القياسية، ولكنها قد تستغرق الكثير من الوقت والجهد. دعونا نفكر في كيفية أتمتة هذه العملية وتسريع العمل مع التقارير.
على سبيل المثال، لدينا العديد من المصنفات Excel، ونريد جمع أوراق العمل من كافة المصنفات في ملف واحد. للقيام بذلك، افتح المصنف الذي تريد تجميع كافة الأوراق فيه وقم بإضافة رمز الماكرو التالي.
في المصنف Excel المفتوح حيث تريد تجميع كل الأوراق، افتح Visual Basic Editor (Alt+F11), أضف وحدة VBA (Inser - Module) و انسخ ماكرو الكود هذا هناك:
Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Microsoft Excel Files (*.xls), *.xls", _ MultiSelect:=True, Title:="Files to Merge") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "لم يتم تحديد أي ملف!" GoTo ExitHandler End If x = 1 While x <= UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x = x + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
بعد ذلك، يمكنك العودة إلى Excel وتشغيل الماكرو الخاص بنا من خلال القائمة Tools - Macro - Macros (Alt+F8). سيظهر مربع حوار حيث تحتاج إلى تحديد ملف واحد أو أكثر (مع الضغط على Ctrl)، التي نريد إضافة أوراقها إلى المصنف الحالي.
إذا كنت تستخدم امتداد ملف Excel مختلفًا (على سبيل المثال، *.xlsx، *.xlsm، *.xlsb، وما إلى ذلك)، فستحتاج إلى إجراء التغييرات المناسبة على السطر التاسع من التعليمات البرمجية في الماكرو الخاص بنا.