JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
الصفحة الرئيسية

كيفية فتح ملف Excel ونسخ البيانات منه إلى ملف آخر باستخدام VBA في Excel

كيفية فتح ملف Excel ونسخ البيانات منه إلى ملف آخر باستخدام VBA في Excel 

 



تعتبر مهمة فتح ملف Excel ونسخ البيانات منه إلى ملف آخر من المهام الشائعة في Excel. يمكنك استخدام لغة

 VBA (Visual Basic for Applications) في Excel لتنفيذ هذه المهمة بسهولة. ستتعلم في هذا المقال كيفية استخدام VBA لفتح ملف Excel ونسخ البيانات منه إلى ملف آخر.

كيف نقوم بذلك ( الخطوات )

1.      قم بفتح Excel وانشئ ملف جديد.

2.      اضغط على ALT + F11 لفتح محرر VBA.

3.      في محرر VBA، انقر بزر الماوس الأيمن على اسم المشروع في العنوان واختر "Insert" ثم "Module" لإنشاء وحدة جديدة.

4.      في وحدة VBA، قم بكتابة الكود التالي:

 

Sub ImportDataFromAnotherExcelFile()

    Dim sourceWorkbook As Workbook

    Dim targetWorkbook As Workbook

   

    ' تحديد الملف المصدر

    Set sourceWorkbook = Workbooks.Open("C:\Path\to\Source\File.xlsx")

   

    ' تحديد الملف الحالي

    Set targetWorkbook = ThisWorkbook

   

    ' نسخ البيانات من الملف المصدر إلى الملف الحالي

    sourceWorkbook.Sheets("Sheet1").UsedRange.Copy targetWorkbook.Sheets("Sheet2").Range("A1")

   

    ' إغلاق الملف المصدر

    sourceWorkbook.Close SaveChanges:=False

End Sub


في هذا المثال، يتم فتح الملف المصدر باستخدام الدالة `Workbooks.Open` وتعيينه إلى متغير `sourceWorkbook`، ثم يتم تحديد الملف الحالي باستخدام `ThisWorkbook` وتعيينه إلى متغير `targetWorkbook`. بعد ذلك، يتم نسخ البيانات من ورقة العمل "Sheet1" في الملف المصدر إلى ورقة العمل "Sheet2" في الملف الحالي باستخدام الدالة `Copy`. أخيرًا، يتم إغلاق الملف المصدر باستخدام الدالة `Close`.

يجب تغيير المسار "C:\Path\to\Source\File.xlsx" إلى المسار الفعلي للملف المصدر الذي ترغب في استيراد البيانات منه. كما يجب تغيير أسماء ورق العمل والأشرطة الفرعية حسب الحاجة.

قم بفتح محرر VBA في Excel بالنقر على ALT + F11، ثم انسخ الكود في وحدة VBA (مثل وحدة "Module") وقم بتشغيل الكود عن طريق النقر على زر التشغيل أو بتنفيذ أمر يقوم بتنفيذ البرنامج النصي.

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

نسخ البيانات من أكثر من ورقة عمل في الملف المصدر؟

                                                                                                                                                            يمكنك استخدام الكود السابق لنسخ البيانات من أكثر من ورقة عمل في الملف المصدر. يمكنك تكرار عملية النسخ لكل ورقة عمل ترغب في استيراد البيانات منها.

 فيما يلي مثال يوضح كيفية استيراد البيانات من عدة ورقات عمل في الملف المصدر:

Sub ImportDataFromMultipleSheets()

    Dim sourceWorkbook As Workbook

    Dim targetWorkbook As Workbook

    Dim sourceWorksheet As Worksheet

    Dim targetWorksheet As Worksheet

    ' تحديد الملف المصدر

    Set sourceWorkbook = Workbooks.Open("C:\Path\to\Source\File.xlsx")

    ' تحديد الملف الحالي

    Set targetWorkbook = ThisWorkbook

    ' ستقوم فى هذة الحلقة التكرارية باستبراد البيانات من كل اوراق العمل

    For Each sourceWorksheet In sourceWorkbook.Worksheets

        ' اختيار ورقة العمل المستهدفة في الملف الحالي

        Set targetWorksheet = targetWorkbook.Sheets(sourceWorksheet.Name)  

نسخ البيانات من  الملف المصدر  إلى الملف الحالى

        sourceWorksheet.UsedRange.Copy targetWorksheet.Range("A1")

    Next sourceWorksheet

    ' إغلاق الملف المصدر

    sourceWorkbook.Close SaveChanges:=False

End Sub


في هذا المثال، يتم استخدام حلقة `For Each` لتكرار عملية النسخ لكل ورقة عمل في الملف المصدر. بعد ذلك، يتم تحديد ورقة العمل المستهدفة في الملف الحالي باستخدام اسم الورقة الفرعية (`sourceWorksheet.Name`) وتعيينها إلى متغير `targetWorksheet`. يتم نسخ البيانات من ورقة العمل المصدر إلى ورقة العمل المستهدفة كما هو موضح في الكود.

يرجى ملاحظة أنه يجب أن تكون لديك ورقة عمل في الملف الحالي بنفس اسم ورقة العمل في الملف المصدر لنقل البيانات إليها. يمكنك ضبط اسم الورقة الفرعية في الخط `Set targetWorksheet = targetWorkbook.Sheets(sourceWorksheet.Name)` حسب الحاجة

 تعديل الكود لنسخ البيانات إلى ورقة عمل جديدة في الملف الحالي؟

نعم، يمكنك تعديل الكود لنسخ البيانات إلى ورقة عمل جديدة في الملف الحالي. يمكنك استخدام الدالة `

Sheets.Add` لإنشاء ورقة عمل جديدة في الملف الحالي ونسخ البيانات إليها.

فيما يلي مثال يوضح كيفية تعديل الكود لنسخ البيانات إلى ورقة عمل جديدة في الملف الحالي:

Sub ImportDataToNewWorksheet()

    Dim sourceWorkbook As Workbook

    Dim targetWorkbook As Workbook

    Dim sourceWorksheet As Worksheet

    Dim targetWorksheet As Worksheet

    ' تحديد الملف المصدر

    Set sourceWorkbook = Workbooks.Open("C:\Path\to\Source\File.xlsx")

    ' تحديد الملف الحالي

    Set targetWorkbook = ThisWorkbook

    ' إنشاء ورقة عمل جديدة في الملف الحالي

    Set targetWorksheet = targetWorkbook.Sheets.Add(After:=targetWorkbook.Sheets(targetWorkbook.Sheets.Count))

    targetWorksheet.Name = "NewSheet"

    ' استيراد البيانات من المصدر إلى الورقة الجديدة

    For Each sourceWorksheet In sourceWorkbook.Worksheets

        ' نسخ البيانات من  الملف المصدر  إلى الملف الحالى

        sourceWorksheet.UsedRange.Copy targetWorksheet.Range("A1")

    Next sourceWorksheet  

    ' إغلاق الملف المصدر

    sourceWorkbook.Close SaveChanges:=False

End Sub

في هذا المثال، تمت إضافة بعض الأسطر لإنشاء ورقة عمل جديدة في الملف الحالي باستخدام `Sheets.Add`. يتم تعيين الورقة الجديدة إلى متغير `targetWorksheet` ويتم تعيين اسم الورقة الجديدة إلى "NewSheet" باستخدام `targetWorksheet.Name = "NewSheet"`.

ثم يتم نسخ البيانات من المصدر إلى الورقة الجديدة باستخدام الحلقة `For Each` كما هو موضح في الكود. 

يمكنك تعديل اسم الورقة الجديدة وتخصيصها حسب الحاجة في الخط `targetWorksheet.Name = "NewSheet"`.

يرجى ملاحظة أنه يتم إضافة الورقة الجديدة بعد الورقة الأخيرة الموجودة في الملف الحالي باستخدام

`After:=targetWorkbook.Sheets(targetWorkbook.Sheets.Count)`، ويمكنك تغيير هذا حسب رغبتك..

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

لتحميل ملف العمل من هنا


الاسمبريد إلكترونيرسالة