עוגיות לעזור לנו לספק השירותים שלנו. על ידי שימוש בשירותים שלנו, אתה מסכים לשימוש בעוגיות שלנו.
טיפ: שפות אחרות הן Google-Translated. אתה יכול לבקר את English גרסה של קישור זה.
התחבר
x
or
x
x
הירשם
x

or

כיצד לשכפל שורות בהתבסס על ערך התא בעמודה?

לדוגמה, יש לי מגוון של נתונים המכיל רשימה של מספרים בעמודה D, ועכשיו, אני רוצה לשכפל את כל השורות מספר פעמים על סמך הערכים המספריים בעמודה D כדי לקבל את התוצאה הבאה. כיצד ניתן להעתיק את השורות מספר פעמים בהתבסס על ערכי התא ב- Excel?

doc שורות כפולות על ידי תא 1

שורות כפולות מספר פעמים על סמך ערכי תאים עם קוד VBA


חץ כחול בועה ימין שורות כפולות מספר פעמים על סמך ערכי תאים עם קוד VBA

כדי להעתיק ולשכפל את כל השורות מספר פעמים על סמך ערכי התא, קוד ה- VBA הבא עשוי לעזור לך, אנא בצע את הפעולות הבאות:

1. החזק את ALT + F11 מפתחות כדי לפתוח את Microsoft Visual Basic עבור יישומים חלון.

2. לחץ הַבלָעָה > מודול, והדבק את הקוד הבא מודול חַלוֹן.

קוד VBA: שורות כפולות מספר פעמים על בסיס ערך התא:

Sub CopyData()
'Updateby Extendoffice 20160922
    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 המפתח להפעלת קוד זה, כל השורות כבר כפולות מספר פעמים על בסיס ערך התא בעמודה ד כפי שאתה צריך.

הערות: בקוד לעיל, את המכתב A מציין את העמודה 'התחל' של טווח הנתונים, ואת האות D הוא אות העמודה שברצונך לשכפל את השורות בהתבסס על. אנא שנה אותם לצרכים שלך.



כלי פרודוקטיביות מומלצים

הכרטיסייה 'משרד'

כוכב זהב תביא כרטיסיות שימושיות ל- Excel ולתוכנות Office אחרות, בדיוק כמו Chrome, Firefox ו- Internet Explorer החדש.

Kutools עבור Excel

כוכב זהב מדהים! הגדל את הפרודוקטיביות שלך ב- 5 דקות. לא צריך שום כישורים מיוחדים, לשמור שעתיים כל יום!

כוכב זהב 300 תכונות חדשות עבור Excel, להפוך את Excel הרבה יותר קל ורב עוצמה:

  • מיזוג תאים / שורות / עמודות מבלי לאבד נתונים.
  • שלב ולאחד מספר גיליונות וחוברות עבודה.
  • השווה טווחים, העתק טווחים מרובים, המרת טקסט עד תאריך, יחידת המרת מטבע.
  • ספירה לפי צבעים, סכימות החלפה, מתקדם מיון ו סופר מסנן,
  • עוד בחר / הוסף / מחק / טקסט / עיצוב / קישור / תגובה / חוברות עבודה / גליונות עבודה ...

צילום מסך של Kutools עבור Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    KAS · 1 months ago
    Is there a way to update the module to only duplicate new data? I'm working on an ongoing document and do not want the code to duplicate data that has been previously duplicated.
  • To post as a guest, your comment is unpublished.
    Gerardo Enrique Heras Araujo · 2 months ago
    hi, for me is no working, I want to remove letters and number duplicate is possible?
  • To post as a guest, your comment is unpublished.
    Naomi · 2 months ago
    This script seems to be exactly what I need, however, when I run it I am getting an error on the line Selection.Insert Shift:=x1Down

    Any suggestions on how I fix this?
  • To post as a guest, your comment is unpublished.
    Manuel F · 2 months ago
    Thanks! it has been a great solution for all my troubles!
  • To post as a guest, your comment is unpublished.
    Leah · 3 months ago
    Hello, this worked great. However, I have a report with 1000 entries and the code stopped duplicating around entry 480. Is there something that I can add so that it completes the action on the entire report?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 months ago
      Hello, Leah,
      I have tested the code in 2000 rows, and it works well.
      Could you send your worksheet to me for testing the code?
      My email address is skyyang@extendoffice.com
      Look forward to your reply!
      • To post as a guest, your comment is unpublished.
        Leah · 3 months ago
        Hello! I got it to work. It was an error on my side, the report had a few blank rows that were hidden that were causing the script to stop looping. It worked for my report with 8,000 rows! Thank youQ