كيفية نسخ الصفوف بناءً على قيمة الخلية في عمود؟
عند العمل مع جداول بيانات Excel، قد تحتاج أحيانًا إلى نسخ الصفوف بأكملها وفقًا لقيمة في عمود محدد. على سبيل المثال، تخيل أن لديك جدولًا حيث يشير العمود D إلى رقم، وهدفك هو نسخ أو إدراج كل صف عدة مرات حسب قيمة الخلية المقابلة في العمود D. يمكن أن يكون هذا مفيدًا لتوسيع البيانات، وإعداد مجموعات بيانات للاختبار، ومحاكاة المخزون، أو توليد خطوط طلبات متكررة. تحقيق ذلك بفعالية دون تكرار يدوي يساعد في الحفاظ على سلامة البيانات ويُسرّع بشكل كبير من سير العمل، خاصة بالنسبة للجداول الكبيرة.
![]() | ![]() | ![]() |
نسخ الصفوف عدة مرات بناءً على قيم الخلايا باستخدام كود VBA
نسخ وإدراج الصفوف بناءً على عدد محدد من المرات باستخدام أداة عملية - Kutools لـ Excel
نسخ الصفوف عبر تحويل Power Query
نسخ الصفوف عدة مرات بناءً على قيم الخلايا باستخدام كود VBA
إذا كنت بحاجة إلى إنشاء نسخ من الصفوف بأكملها بسرعة وفقًا للقيم الموجودة في عمود محدد (على سبيل المثال، في العمود D)، فإن VBA يقدم حلًا مباشرًا وفعالاً. هذه الطريقة ذات قيمة خاصة عند التعامل مع مجموعات بيانات كبيرة، حيث تُسهل الأتمتة العملية وتساعد في ضمان الدقة. ومع ذلك، يتطلب العمل مع VBA بعض الإلمام الأساسي بعلامة التبويب "Developer" في Excel وفهم كيفية تنفيذ الماكروهات. الميزة الرئيسية هي المرونة — يمكن تعديل الكود ليتناسب مع نطاقات مختلفة أو أعمدة مستهدفة. من ناحية أخرى، إذا لم تكن مرتاحًا لاستخدام VBA أو إذا كانت سياسات الأمان تمنع الماكروهات في بيئتك، يرجى النظر في أحد الحلول البديلة أدناه.
1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق Insert > Module، ثم ألصق الكود التالي في نافذة الوحدة.
كود VBA: نسخ الصفوف عدة مرات بناءً على قيمة الخلية:
Sub CopyData()
'Updateby Extendoffice
Dim xRow As Long
Dim VInSertNum As Variant
xRow = 1
Application.ScreenUpdating = False
Do While (Cells(xRow, "A") <> "")
VInSertNum = Cells(xRow, "D")
If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
Selection.Insert Shift:=xlDown
xRow = xRow + VInSertNum - 1
End If
xRow = xRow + 1
Loop
Application.ScreenUpdating = False
End Sub
3. بعد ذلك، اضغط على مفتاح F5 لتشغيل هذا الكود. سيتم نسخ الصفوف بأكملها عدة مرات بناءً على قيمة الخلية في العمود D، بما يتماشى مع متطلباتك.
نسخ وإدراج الصفوف بناءً على عدد محدد من المرات باستخدام أداة عملية - Kutools لـ Excel
إذا كنت تفضل طريقة لا تتضمن استخدام الكود، أو إذا كنت ترغب في واجهة مستخدم سهلة الاستخدام لإدارة النسخ المجمع للصفوف، توفر أداة Kutools لـ Excel حلاً عمليًا. تتيح ميزة نسخ أو إدراج صفوف / أعمدة وفقًا لقيم الخلايا نسخ وإدراج الصفوف بسرعة وفقًا للعدد المحدد في الخلايا ذات الصلة. هذا مثالي لأولئك الذين يتعاملون مع مثل هذه العمليات المتكررة بانتظام ويحتاجون إلى عملية مرئية ومخصصة. تحافظ Kutools على تخطيط وتنسيق الجدول الأصلي أثناء النسخ، مما يقلل من خطر الأخطاء العرضية. تعمل هذه الطريقة بسلاسة بغض النظر عن مستوى خبرتك في VBA وتعزز الكفاءة بشكل كبير للمدى المتوسط إلى الكبير لنطاقات البيانات.
- انقر فوق Kutools > Insert > Duplicate Rows/Columns Based on Cell Value لتفعيل هذه الميزة؛
- ثم اختر خيار نسخ وإدراج الصفوف، وحدد خلايا نطاق الإدراج ومرات التكرار على حدة في مربع الحوار. أكد اختياراتك واضغط على موافق.
نسخ الصفوف عبر تحويل Power Query
يوفر Power Query حلًا قويًا وقابل للتكرار لنسخ الصفوف بناءً على قيمة العمود - مثالي للجداول الكبيرة أو عندما تحتاج إلى تحديث البيانات بشكل متكرر. باستخدام هذه الأداة، يمكنك توسيع الصفوف وفقًا للمؤشرات الرقمية بدون استخدام الصيغ أو الكود. تعمل هذه الطريقة بشكل جيد للمستخدمين الذين يريدون عملية خطوة بخطوة مرئية وقابلة للتفسير وتتطلب تكرارية مع تحديثات البيانات المستقبلية.
1. أضف بياناتك إلى جدول Excel (حدد النطاق واضغط Ctrl+T). انتقل إلى Data > From Table/Range لتحميل الجدول إلى Power Query.
2. في محرر Power Query، اختر علامة التبويب Add Column وانقر على Custom Column.
3. اكتب الصيغة التالية لتوليد قائمة لكل صف وفقًا للقيمة في العمود D. ( ملاحظة: يجب استبدال [D] باسم رأس العمود الحقيقي. على سبيل المثال، هنا سأختار Duplicate Times وانقر على زر Insert لاستبدال وسيطة [D].)
List.Repeat({1}, [D])
4. انقر فوق الزر Expand بجانب العمود المخصص الجديد وانقر على Expand to New Rows.
5. بعد ذلك، يمكنك رؤية أن البيانات تم نسخها بناءً على القيم في العمود D، شاهد لقطة الشاشة:
6. قم بإزالة الأعمدة المساعدة إذا لزم الأمر، وانقر على Close & Load لإعادة البيانات إلى Excel.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!