فبا: كيفية نسخ الخطوط المرئية إلى ورقة أخرى


يمكنك استخدام بناء الجملة التالي في VBA لنسخ الصفوف المرئية فقط من ورقة إلى أخرى:

 SubCopyVisibleRows ()

    Dim sourceWS As Worksheet
    Dim destinationWS As Worksheet
    
    Set sourceWS = ThisWorkbook.Sheets(" Sheet1 ")
    Set destinationWS = ThisWorkbook.Sheets(" Sheet2 ")

    sourceWS.Range(" A1:D999 ").SpecialCells(xlCellTypeVisible).Copy
    destinationWS.Cells(1, 1).PasteSpecial
    Application.CutCopyMode = False
   
End Sub

سيقوم هذا الماكرو المحدد بنسخ كل صف مرئي في النطاق A1:D999 من الورقة1 ولصقه بدءًا من الخلية A1 من الورقة2 .

ملاحظة : يحدد السطر Application.CutCopyMode = False أنه يجب تعطيل وضع القص والنسخ بعد تشغيل الماكرو.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: انسخ الصفوف المرئية إلى ورقة أخرى باستخدام VBA

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

لنفترض الآن أننا قمنا بتطبيق عامل تصفية على مجموعة البيانات لإظهار الصفوف التي يساوي فيها اسم الفريق Mavs أو Spurs فقط:

لنفترض الآن أننا نريد استخدام VBA لنسخ الخلايا المرئية فقط من الورقة 1 إلى الورقة 2.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 SubCopyVisibleRows ()

    Dim sourceWS As Worksheet
    Dim destinationWS As Worksheet
    
    Set sourceWS = ThisWorkbook.Sheets(" Sheet1 ")
    Set destinationWS = ThisWorkbook.Sheets(" Sheet2 ")

    sourceWS.Range(" A1:D999 ").SpecialCells(xlCellTypeVisible).Copy
    destinationWS.Cells(1, 1).PasteSpecial
    Application.CutCopyMode = False
   
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي في الورقة 2 :

لاحظ أنه تم نسخ كل صف مرئي في الورقة1 ولصقه في الورقة2 .

ملاحظة رقم 1 : استخدمنا xlCellTypeVisible في الماكرو لتحديد أننا أردنا فقط نسخ الخلايا المرئية.

ملاحظة رقم 2 : يمكنك العثور على الوثائق الكاملة لطريقة نسخ VBA هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

VBA: كيفية العثور على آخر سطر مستخدم
VBA: نسخ الصفوف إلى ورقة أخرى بناءً على المعايير
VBA: كيفية لصق القيم فقط بدون تنسيق

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *