Note: The other languages of the website are Google-translated. Back to English

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

على سبيل المثال ، لدي نطاق من البيانات يحتوي على قائمة بالأرقام في العمود D ، والآن ، أريد تكرار الصفوف بأكملها عدة مرات بناءً على القيم الرقمية في العمود D للحصول على النتيجة التالية. كيف يمكنني نسخ الصفوف عدة مرات بناءً على قيم الخلية في Excel؟

doc مكرر الصفوف بالخلية 1

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


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

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

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

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

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

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 حسب حاجتك.

ملاحظة: في الكود أعلاه الحرف A يشير إلى عمود البداية لنطاق البيانات ، والحرف D هو حرف العمود الذي تريد تكرار الصفوف بناءً عليه. يرجى تغييرها حسب حاجتك.


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (41)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لقد نجح هذا على أكمل وجه. ما الذي يمكنني إضافته إلى التعليمات البرمجية الخاصة بك لإخفاء أي أسطر بها "0"؟ نحن نستخدم هذا لملصقات SKU. شكرا على الحل الرائع!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحبك. شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك! يشير السطران 10 و 11 "D" إلى نهاية الصف وقد يلزم تغيير ذلك إلى نطاق بياناتك لجعله يعمل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
شخص ما يعرف أن تحويل رمز VBA هذا إلى نصوص تطبيقات Google (أوراق google)؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لقد استخدمت الكود أعلاه الذي يعمل بشكل رائع ولكني بحاجة إلى خطوة أخرى بعد لصق الصف. أنا فقط لا أستطيع الحصول عليه للعمل بشكل صحيح. أحتاج إلى وضع الصفر في العمود "N" في الصف بعد لصقه ولكن احتفظ بالقيمة في "N" في الصف الأصلي المنسوخ.


بيانات النسخ الفرعية ()
'تحديث بواسطة Extendoffice 20160922
خافت xRow طويل
Dim VInSertNum كمتغير
xRow = 1
Application.ScreenUpdating = خطأ
القيام أثناء (الخلايا (xRow، "A") <> "")
VInSertNum = خلايا (xRow، "J")
If ((VInSertNum> 1) And IsNumeric (VInSertNum)) ثم
النطاق (الخلايا (xRow ، "A") ، الخلايا (xRow ، "AN")). نسخ
خلايا (xRow ، 14) ، القيمة = 0 هذا فعل كل الصفوف
النطاق (الخلايا (xRow + 1 ، "A") ، الخلايا (xRow + VInSertNum - 1 ، "AN")). حدد
خلايا (xRow ، 14) ، القيمة = 0
هذا فعل كل الصفوف
Selection.Insert Shift: = xlDown
خلايا (xRow، 14) .Value = 0 هذا فعل الصف الأول فقط
xRow = xRow + VInSertNum - 1
خلايا (xRow - 1، 14) القيمة = 0
إنهاء حالة
خلايا (xRow - 1، 14) القيمة = 0
xRow = xRow + 1
خلايا (xRow + 1، 14) القيمة = 0
أنشوطة
خلايا (xRow ، 14) ، القيمة = 0 لم تفعل ذلك أي صفوف
Application.ScreenUpdating = خطأ
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ستيف ، هل كنت قادرًا على القيام بذلك. متطلباتي هي نفسها:
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا يا شباب،
ربما تساعدك المقالة أدناه ، يرجى التحقق منها:
https://www.extendoffice.com/documents/excel/3682-excel-copy-and-insert-row-multiple-times.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل تعرف ماذا سيكون الرمز لتكرار الصف مرة واحدة فقط ، بناءً على ما إذا كانت الخلية د تحتوي على "نعم" - لقد كنت أطارد رمزًا مشابهًا ولكن لشيء يكرر صفًا بناءً على خلية تقول نعم
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لذلك أنا أستخدم هذا الكود ولكني أريده أن يبحث في المستند بأكمله ليس فقط الصف 1 أو ما هو مشار إليه بواسطة xRow = 1. أحاول أن أضعه في النطاق 1: 2000 لكنه لا يعمل. كيف يمكنني تحديد xRow = أي صف على الورقة يتضمن المعلومات التي أحددها في الكود أدناه؟


خافت xRow طويل
قيمة باهتة كمتغير


xRow = 1: 2000

Application.ScreenUpdating = خطأ
القيام أثناء (الخلايا (xRow، "A") <> "")
القيمة = خلايا (xRow، "D")
Value2 = خلايا (xRow، "A")
If Not ((القيمة = "allegheny general") و IsNumeric (Value2 = G0202)) إذن
النطاق (الخلايا (xRow ، "A") ، الخلايا (xRow ، "D")). نسخ
نطاق (خلايا (xRow + 1، "A") ، خلايا (xRow + 1، "D")). حدد
Selection.Insert Shift: = xlDown
xRow = xRow + 1
إنهاء حالة
xRow = xRow + 1
أنشوطة
Application.ScreenUpdating = خطأ
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لقد نجح هذا بشكل رائع. ومع ذلك ، لدي تقرير يحتوي على 1000 إدخال وتوقف تكرار الرمز حول الإدخال 480. هل هناك شيء يمكنني إضافته بحيث يكمل الإجراء في التقرير بأكمله؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ليا
لقد اختبرت الكود في 2000 صف ، وهو يعمل بشكل جيد.
هل يمكن أن ترسل لي ورقة العمل الخاصة بك لاختبار الكود؟
عنوان بريدي الإلكتروني هو skyyang @extendofficeكوم
نتطلع الى ردكم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا! أنا حصلت على العمل. لقد كان خطأ من جانبي ، كان التقرير يحتوي على بعض الصفوف الفارغة التي كانت مخفية والتي تسببت في توقف البرنامج النصي عن التكرار. عملت لتقريري مع 8,000 صف! شكرا س
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ليا و سكاييانغ ،
أواجه مشكلة مماثلة - يعمل البرنامج النصي بشكل جيد في ورقة عمل من حوالي 100 صف ولكنه يتوقف عن العمل لأي شيء أكبر. لقد تحققت من وجود صفوف فارغة في العمود الذي يأتي منه رقم الضرب ولا يوجد أي منها. هل هناك أي أسباب أخرى لعدم عمل البرنامج النصي لمجموعات البيانات الأكبر؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا! لقد كان حلاً رائعًا لجميع مشاكلي!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يبدو أن هذا البرنامج النصي هو بالضبط ما أحتاجه ، ومع ذلك ، عندما أقوم بتشغيله ، أحصل على خطأ في سطر التحديد.

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

KTE + 0002
تم تصغير هذا التعليق بواسطة المشرف على الموقع
محبوب! شكرًا لك. أتساءل عما إذا كان بإمكان أي شخص أن يعطي تلميحًا حول كيفية دمج عمود جديد من المعلومات في الجدول (العمود E) يمثل عددًا من القيمة المتزايدة لكل صف منسوخ ، 1 ، 2 ، 3 ، 4 إلخ ... ثم عندما يصل إلى العنصر التالي ليتم تكراره X مرة ، سيبدأ الترقيم مرة أخرى من 1 ويزيد بمقدار 1 في كل مرة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لقد جربت هذا ولكن هل هناك طريقة للنظر في ما إذا كانت هناك معايير متعددة مع البيانات التي أقوم بتكرارها
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

أقوم بإنشاء جدول بيانات باستخدام الصيغة المقدمة ولكن لدي أخطاء. من فضلك ، هل يمكن لأي شخص إخباري بما يجب أن تكون عليه صيغتي؟

طاولتي من AY والكميات بـ K.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لقد كنت أحاول تعديل هذا الرمز ولكني أواجه صعوبات.
لدي عناصر المخزون. كل عنصر عبارة عن صفين. وتريد منهم تكرار عدد N من الوقت
في الجزء العلوي من جدول البيانات ، لدي خلية دعنا نسميها A1 ، لدي كم مرة يتم تكرارها؟ ن
مهما كانت القيمة N ، أريد تكرار عنصر المخزون الأولي لدي (A16 ، A17) مرات عديدة.
لذلك يجب أن يبدأ العنصر المنسوخ في A18 (وهو صفان ، العنصر التالي a20 وما إلى ذلك.
شكر
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، الكود يعمل بشكل رائع. أردت أيضًا إضافة 1+ إلى التاريخ (أيام الأسبوع فقط) في كل مرة يتم فيها تكرار الصف.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا جزيلا لك! لقد وفر لي هذا الكثير من الوقت لدرجة أنني كنت أضيع نسخ ولصق جميع صفوف البيانات الخاصة بي.
إصبعا الإبهام عاليا!!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
قطعة كبيرة من التعليمات البرمجية !!! شكرًا لك!!!
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL