دليل شامل: كيفية إنشاء ملفات Excel متعددة من ملف واحد باستخدام VBA
في عالم تحليل البيانات وإدارة الملفات،
يعد تقسيم البيانات الكبيرة إلى ملفات متعددة أمرًا ضروريًا لتحسين التنظيم وسهولة
الوصول إلى المعلومات. باستخدام لغة VBA
في Excel،
يمكنك أتمتة هذه العملية بسهولة وإنشاء ملفات Excel
متعددة تلقائيًا من ملف رئيسي واحد. في هذا المقال، سنتعرف على كود
VBA سهل لإنشاء
ملفات جديدة في مجلد محدد (مثل مجلد `test`
على سطح المكتب)، مع شرح تفصيلي وأمثلة عملية.
المجتويات
كود VBA
لإنشاء ملفات Excel
متعددة
تقسيم بيانات Excel
إلى ملفات منفصلة
أتمتة إنشاء الملفات في Excel
إنشاء مجلد وإضافة ملفات باستخدام VBA
تصدير بيانات Excel
إلى ملفات متعددة
برمجة Excel
لإنشاء تقارير فردية
حفظ البيانات في مجلد معين باستخدام VBA
كود VBA
لإنشاء ملفات من جدول بيانات
توليد ملفات Excel
تلقائيًا
إدارة الملفات باستخدام VBA
لماذا تحتاج إلى هذا
الكود؟
1. تنظيم البيانات: تقسيم ملف Excel كبير إلى
ملفات صغيرة يسهل إدارتها.
2. أتمتة المهام: توفير الوقت والجهد في
إنشاء الملفات يدويًا.
3. إنشاء تقارير فردية: مثلاً، إنشاء ملف
لكل عميل أو موظف.
4. النسخ الاحتياطي: حفظ البيانات في ملفات منفصلة يقلل من خطر فقدانها.
الكود الكامل مع الشرح
Sub
AddDataToExistingFiles()
Dim wsSource As Worksheet
Dim wbDest As Workbook
Dim lastRow As Long, lastDestRow As Long, i
As Long
Dim folderPath As String, fileName As
String
Dim fileExists As Boolean
' ' 1
Set
wsSource = ThisWorkbook.Sheets("sheet1")
'2
desktopPath =
CreateObject("WScript.Shell").SpecialFolders("Desktop")
' 3
folderPath =
desktopPath & "\Test1\"
' 4ð
If Dir(folderPath, vbDirectory) =
"" Then
MkDir folderPath
End If
' 5
lastRow =
wsSource.Cells(Rows.Count, 1).End(xlUp).Row
' 6
For i = 2 To lastRow
fileName = wsSource.Cells(i, 1).Value
'7
fileExists =
Dir(folderPath & fileName & ".xlsx") <> ""
If fileExists Then
' 8
Set wbDest =
Workbooks.Open(folderPath & fileName & ".xlsx")
'9
lastDestRow =
wbDest.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
' 10
wsSource.Rows(i).Copy
wbDest.Sheets(1).Cells(lastDestRow,
1).PasteSpecial xlPasteAll
' 11
wbDest.Close
SaveChanges:=True
Else
' 12ð
Set wbDest = Workbooks.Add
' 13
wsSource.Rows(1).Copy
wbDest.Sheets(1).Range("A1").PasteSpecial xlPasteAll
' 14
wsSource.Rows(i).Copy
wbDest.Sheets(1).Range("A2").PasteSpecial xlPasteAll
' 15
Application.DisplayAlerts = False
wbDest.SaveAs folderPath &
fileName & ".xlsx"
wbDest.Close
Application.DisplayAlerts = True
Application.CutCopyMode = False
End If
Next i
Application.CutCopyMode = False
MsgBox "Êã ÊÍÏíË ÇáãáÝÇÊ ÈäÌÇÍ!",
vbInformation
End Sub
شرح الكود خطوة بخطوة
1. تعريف المتغيرات:
`ws`:
الورقة النشطة في Excel.
`newWb`:
الملف الجديد الذي سيتم إنشاؤه.
`desktopPath`:
مسار سطح المكتب.
`folderPath`:
مسار المجلد الجديد (`test`).
2. إنشاء مجلد `test`
إذا لم يكن موجودًا:
يستخدم الدالة `Dir` للتحقق من وجود المجلد.
إذا لم يكن موجودًا، يتم إنشاؤه باستخدام
`MkDir`.
3. قراءة البيانات من الورقة النشطة:
يتم تحديد آخر صف في العمود `A` (حيث توجد أسماء الملفات).
4. حلقة لإنشاء الملفات:
لكل صف (بدءًا من الصف الثاني)، يتم:
إنشاء ملف Excel
جديد (`Workbooks.Add`).
نسخ العناوين من الصف الأول.
نسخ البيانات من الصف الحالي.
حفظ الملف باسم مأخوذ من العمود `A`.
5. إظهار رسالة تأكيد:
تُظهر عدد الملفات التي تم إنشاؤها.
كيفية استخدام الكود؟
1. فتح محرر VBA:
اضغط `Alt +
F11` في Excel.
انقر `Insert`
> `Module`.
الصق الكود.
2. إعداد البيانات:
تأكد من أن العمود A يحتوي على
أسماء الملفات.
ضع العناوين في الصف الأول.
3. تشغيل الكود:
اضغط `F5`
أو `Run`.
تعديلات مقترحة للكود
1. تغيير مكان الحفظ:
folderPath
= "C:\MyReports\" ' بدلاً من سطح المكتب
2. تغيير صيغة الملفات إلى `.xls`:
newWb.SaveAs
folderPath & fileName & ".xls", FileFormat:=xlExcel8
3. إضافة تاريخ إلى اسم الملف:
fileName
= ws.Cells(i, 1).Value & "_" & Format(Date,
"dd-mm-yyyy")
4. تجاهل الأخطاء:
On
Error Resume Next ' تجاهل الأخطاء
' الكود هنا
On
Error GoTo 0 ' إعادة تفعيل اكتشاف الأخطاء
الاستخدامات العملية
1. إنشاء تقارير موظفين:
ملف لكل موظف يحتوي على بياناته.
2. أرشفة بيانات العملاء:
حفظ بيانات كل عميل في ملف منفصل.
3. تقسيم البيانات الشهرية:
إنشاء ملف لكل شهر.
الخلاصة
هذا الكود يُعد حلاً قويًا لأتمتة إنشاء
ملفات Excel متعددة
من ملف واحد. يمكنك تخصيصه ليناسب احتياجاتك، مثل تغيير مكان الحفظ أو إضافة تواريخ
إلى أسماء الملفات.
- تحميل برنامج حركة الخزينة مجانا
- اسطوانة التعريفات الشاملة DriverPack Solution بدون نت
- شيت بجميع اكواد الخدمة في فورى Fawry اكواد فوري
- برنامج مجانى لمتابعة حركة الخزينة Excel
- تحميل برنامج مخازن مجانى 100 % كامل ومفتوح المصدر | Store Management System
- برنامج متابعة الشيكات (شيكات دفع / شيكات قبض ) Cheques Management + نسخة تجريبية
- تحميل برنامج الكاشير2020 المجانى لادارة حسابات المحلات التجارية Cashier
- تحميل برنامج مجانى حضور وانصراف الموظفين بالبصمة( دوام الموظفين المجانى)
- تحميل برنامج مخازن مجانى 100%
- -برنامج المنجز 2024
- تحميل برنامج محاسبى كامل كفعل مدى الحياة
كلمات مفتاحية إضافية:
برمجة Excel
للمبتدئين
أتمتة المهام الروتينية
تصدير بيانات Excel
إلى مجلد
VBA لإنشاء ملفات من جدول بيانات
إدارة البيانات باستخدام Excel
VBA
جرب الكود بنفسك ووفر الوقت في إدارة ملفاتك!