انتقل إلى المحتوى الرئيسي

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

لنفترض أن لديك مصنفًا به ثلاث أوراق عمل لها نفس التنسيق كما هو موضح أدناه. الآن ، تريد نسخ جميع الصفوف من أوراق العمل هذه حيث يحتوي العمود C على النص "مكتمل" في ورقة عمل جديدة. كيف يمكنك حل هذه المشكلة بسرعة وسهولة دون نسخها ولصقها واحدة تلو الأخرى يدويًا؟

انسخ الصفوف من أوراق عمل متعددة بناءً على معايير في ورقة جديدة برمز VBA


انسخ الصفوف من أوراق عمل متعددة بناءً على معايير في ورقة جديدة برمز VBA

يمكن أن تساعدك التعليمات البرمجية لـ VBA التالية على نسخ صفوف معينة من جميع أوراق العمل داخل المصنف بناءً على شرط معين في ورقة عمل جديدة. يرجى القيام بذلك على النحو التالي:

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق التعليمة البرمجية التالية في نافذة الوحدة النمطية.

كود فبا: انسخ صفوفًا من أوراق متعددة بناءً على معايير في ورقة جديدة

Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
    xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
    If xWs.Name <> xStr Then
        Set xRg = xWs.Range("C:C")
        Set xRg = Intersect(xRg, xWs.UsedRange)
        For Each xRRg In xRg
            If xRRg.Value = xRStr Then
               xRRg.EntireRow.Copy
               xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
               xC = xC + 1
            End If
        Next xRRg
    End If
Next xWs
Application.DisplayAlerts = True
End Sub

ملاحظات: في الكود أعلاه:

  • النص "الطلب مكتمل" في هذا xRStr = "مكتمل" يشير البرنامج النصي إلى الشرط المحدد الذي تريد نسخ الصفوف بناءً عليه ؛
  • ج: ج في تعيين xRg = xWs.Range ("C: C") يشير البرنامج النصي إلى العمود المحدد حيث يتم تحديد الشرط.

3. ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، وتم نسخ جميع الصفوف ذات الشرط المحدد ولصقها في ورقة عمل جديدة تسمى Kutools for Excel داخل المصنف الحالي. انظر لقطة الشاشة:


المزيد من سحب أو نسخ مقالات البيانات النسبية:

  • نسخ البيانات إلى ورقة عمل أخرى باستخدام مرشح متقدم في Excel
  • عادة ، يمكننا تطبيق ميزة التصفية المتقدمة بسرعة لاستخراج البيانات من البيانات الأولية في نفس ورقة العمل. لكن ، في بعض الأحيان ، عندما تحاول نسخ النتيجة المصفاة إلى ورقة عمل أخرى ، ستصلك رسالة التحذير التالية. في هذه الحالة ، كيف يمكنك التعامل مع هذه المهمة في Excel؟
  • انسخ الصفوف إذا كان العمود يحتوي على نص / قيمة معينة في Excel
  • لنفترض أنك تريد معرفة الخلايا التي تحتوي على نص أو قيمة معينة في عمود ، ثم نسخ الصف بأكمله حيث توجد الخلية الموجودة ، كيف يمكنك التعامل معها؟ سأقدم هنا طريقتين للعثور على ما إذا كان العمود يحتوي على نص أو قيمة معينة ، ثم انسخ الصف بأكمله في Excel.

  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة وحفظ البيانات. تقسيم محتوى الخلايا ؛ اجمع الصفوف المكررة والمجموع / المتوسط... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • المفضلة وإدراج الصيغ بسرعةوالنطاقات والمخططات والصور ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • تجميع الجدول المحوري حسب رقم الأسبوع واليوم من الأسبوع والمزيد ... إظهار الخلايا غير المؤمنة والمغلقة بألوان مختلفة قم بتمييز الخلايا التي لها صيغة / اسم
علامة تبويب kte 201905
  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

thank you very much for the code. I have a question: the code runs smoothly on some of my sheets, but looks like enters an infinite loop in some other ones which makes excel crash. What could the reason be?
This comment was minimized by the moderator on the site
Hello there, thank you so much for the code above, it solved me a problem with a complex file; a solution I have been looking for a while now. Thank you..I have one question. How do I change the code so that it copies the rows but only from colum A to colum Q, so not Entire.Row?Thank you in advance and great work!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations