Cookies hjælper os med at levere vores tjenester. Ved at bruge vores tjenester accepterer du vores brug af cookies.
Tip: Andre sprog er Google-oversat. Du kan besøge English version af dette link.
Log på
x
or
x
x
Tilmeld
x

or

Sådan kopieres rækker baseret på celleværdi i en kolonne?

Eksempelvis har jeg en række data, som indeholder en liste over tal i kolonne D, og ​​nu vil jeg duplikere hele rækkerne et antal gange baseret på de numeriske værdier i kolonne D for at få det følgende resultat. Hvordan kunne jeg kopiere rækkerne flere gange baseret på celleværdierne i Excel?

doc duplicere rækker af celle 1

Duplikerer rækker flere gange baseret på celleværdier med VBA-kode


pil blå højre boble Duplikerer rækker flere gange baseret på celleværdier med VBA-kode

For at kopiere og duplikere hele rækkerne flere gange baseret på celleværdierne, kan følgende VBA-kode hjælpe dig, gør det som følger:

1. Hold nede i ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Duplikerer rækker flere gange baseret på celleværdi:

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. Tryk derefter på F5 nøglen til at køre denne kode er hele rækker blevet dupliceret flere gange baseret på celleværdien i kolonne D, som du har brug for.

Noter: I ovenstående kode er brevet A Indikerer startkolonnen i dit dataregment og brevet D Er kolonnebrevet, at du vil duplikere rækkerne baseret på. Venligst skift dem til dit behov.



Anbefalede produktivitetsværktøjer

Office-fanen

guld star1 Medbring praktiske faner til Excel og andre Office-software, ligesom Chrome, Firefox og nye Internet Explorer.

Kutools til Excel

guld star1 Fantastiske! Forøg din produktivitet i 5 minutter. Har ikke brug for særlige færdigheder, spar to timer hver dag!

guld star1 300 Nye funktioner til Excel, gør Excel meget nemt og kraftfuldt:

  • Fusionere celler / rækker / kolonner uden at miste data.
  • Kombiner og konsolidér flere ark og arbejdsbøger.
  • Sammenlign ranges, kopier flere rækker, konverter tekst til dato, enheds- og valutaomregning.
  • Tæl efter farver, Personsøgning Subtotaler, Avanceret Sort og Super Filter,
  • Mere Vælg / Indsæt / Slet / Tekst / Format / Link / Kommentar / Arbejdsbøger / Regneark Værktøjer ...

Skærmbillede af Kutools til 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