فبا: كيفية استخراج البيانات من مصنف آخر
يمكنك استخدام بناء الجملة التالي في VBA لاستخراج البيانات من مصنف آخر:
SubExtractData ()
'turn off screen updates to make this run faster
Application.ScreenUpdating = False
'specify workbook we want to extract data from
Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
'extract all data from Sheet1 and paste as new sheet in current workbook
wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
'do not save any changes to workbook we extract data from
wb.Close SaveChanges:=False
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
يفتح هذا الماكرو المحدد المصنف المسمى my_data.xlsx الموجود في الموقع التالي:
C:\Users\Bob\Desktop\my_data.xlsx
ثم يقوم بعد ذلك بنسخ كافة البيانات من الورقة التي تسمى الورقة 1 إلى هذا المصنف ونسخها إلى الورقة مباشرة بعد الورقة الأولى في المصنف النشط حاليًا.
ملاحظة : السطر Application.ScreenUpdating = False يخبر VBA بتشغيل هذه العملية في الخلفية بحيث يتم تشغيلها بشكل أسرع.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: استخراج البيانات من مصنف آخر باستخدام VBA
لنفترض أن لدينا مصنف Excel التالي مفتوحًا ونقوم بعرضه:
لنفترض الآن أن لدينا مصنفًا آخر مغلقًا ولكنه يحتوي على البيانات التالية:
يمكننا استخدام الماكرو التالي لاستخراج البيانات من الورقة 1 من هذا المصنف المغلق ولصقها في ورقة جديدة مباشرة بعد الورقة الأولى من المصنف المفتوح حاليًا:
SubExtractData ()
'turn off screen updates to make this run faster
Application.ScreenUpdating = False
'specify workbook we want to extract data from
Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
'extract all data from Sheet1 and paste as new sheet in current workbook
wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
'do not save any changes to workbook we extract data from
wb.Close SaveChanges:=False
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم استخراج البيانات من المصنف المغلق ولصقها كورقة جديدة في المصنف النشط حاليًا.
لا تتردد في إعادة تسمية الورقة الجديدة لأنها مطابقة للورقة الحالية.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: كيفية حساب عدد الأوراق في المصنف
فبا: كيفية إدراج أعمدة متعددة
VBA: كيفية إدراج أسطر متعددة