كيف يمكن التكرار عبر المصنفات الموجودة في مجلد ونسخ بياناتها إلى ورقة رئيسية في Excel؟
افترض أن لديك عدة ملفات Excel في مجلدٍ واحد، وتحتاج إلى التكرار عبر كل هذه الملفات لنسخ البيانات من نطاق معيّن في ورقة عمل ثابتة (مثل Sheet1) إلى ورقة العمل الرئيسية. يقدّم لك هذا الدليل حلاً تفصيلياً باستخدام VBA لتبسيط هذه العملية في Excel.
التكرار عبر المصنفات في مجلد ونسخ البيانات إلى ورقة رئيسية باستخدام كود VBA
التكرار عبر الملفات في مجلد ونسخ البيانات إلى ورقة رئيسية باستخدام كود VBA
إذا كنت ترغب في نسخ البيانات من النطاق A1:D4 في جميع أوراق العمل Sheet1 الخاصة بالمصنفات الموجودة في مجلد معيّن، ثم لصقها في ورقة رئيسية، فاتبع الخطوات التالية.
1. في المصنف الذي ستنشئ فيه ورقة العمل الرئيسية، اضغط على مفاتيحAlt+F11 لفتح نافذةMicrosoft Visual Basic for Applications.
2. في نافذةMicrosoft Visual Basic for Applications، انقر علىInsert > Module، ثم انسخ كود VBA أدناه إلى نافذة الكود.
كود VBA: التكرار عبر الملفات في مجلد ونسخ البيانات إلى ورقة رئيسية
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub ملاحظة:
3. اضغط على مفتاحF5 لتشغيل الكود.
4. في نافذةBrowse التي تظهر، يرجى تحديد المجلد الذي يحتوي على الملفات التي ستكررها، ثم انقر على زرOK. انظر لقطة الشاشة:

يتم بعد ذلك إنشاء ورقة عمل رئيسية باسم «New Sheet» في نهاية المصنف الحالي، وتُدرج فيها البيانات الموجودة في النطاق A1:D4 من جميع أوراق 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل