نحتاج في بعض الأحيان إلى دمج أوراق من مصنفات Excel مختلفة لإنشاء تقرير جديد أو ملف بيانات مدمج. يمكن إجراء مثل هذه العملية يدويًا، باستخدام أدوات MS Excel القياسية، ولكنها قد تستغرق الكثير من الوقت والجهد. دعونا نفكر في كيفية أتمتة هذه العملية وتسريع العمل مع التقارير.
على سبيل المثال، لدينا العديد من المصنفات Excel، ونريد إنشاءها مجموعة من أوراق العمل من جميع الكتب في ملف واحد. للقيام بذلك، افتح المصنف الذي تريد تجميع كافة الأوراق فيه وقم بإضافة رمز الماكرو التالي.
مع فتح المصنف Excel، حيث تريد تجميع كل الأوراق، افتح Visual Basic Editor (Alt+F11)، أدخل الوحدة النمطية VBA ( Inser - Module ) وانسخ رمز الماكرو هذا هناك:
Sub CombineWorkbooks() 'moonexcel.com.ua 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، وما إلى ذلك)، فستحتاج إلى إجراء التغييرات المناسبة على السطر التاسع من كود الماكرو الخاص بنا.