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

Hvordan kopieres og indsættes række flere gange eller duplikeres rækken x gange i Excel?

Har du nogensinde i dit daglige arbejde forsøgt at kopiere en række eller hver række og derefter indsætte flere gange under den aktuelle datarække i et regneark? For eksempel har jeg en række celler, nu vil jeg kopiere hver række og indsætte dem 3 gange til den næste række som vist nedenstående skærmbillede. Hvordan kunne du håndtere dette job i Excel?


Kopier og indsæt en bestemt række flere gange med VBA-kode

Hvis du kun vil duplikere en bestemt række x gange, kan følgende VBA-kode måske hjælpe dig, gør som dette:

1. Angiv en række, som du vil kopiere og indsætte flere gange, og hold derefter nede ALT + F11 tasterne, så åbner den Microsoft Visual Basic til applikationer vindue.

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

VBA-kode: Kopier en bestemt række flere gange:

Sub test()
'Updateby Extendoffice
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

3. Når du har indsat koden, skal du trykke på F5 nøgle til at køre denne kode, og der vises en promptboks for at minde dig om at indtaste det antal gange, du vil duplikere, se skærmbillede:

4. Klik derefter på OK knappen, og tre nye kopierede rækker er indsat under den valgte række, se skærmbillede:


Kopier og indsæt hver række flere gange baseret på et bestemt nummer

Normalt er der ikke en god metode til kopiering og indsættelse af rækker flere gange undtagen at håndtere manuel kopiering og indsættelse. Men med Kutools til Excel's Dupliser rækker / kolonner baseret på celleværdi funktion, kan du nemt løse dette problem. Klik for at downloade Kutools til Excel!

Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 60 dage. Download og gratis prøveversion nu!


Kopier og indsæt hver række flere gange med VBA-kode

For at duplikere hver række flere gange i et interval, kan du anvende følgende VBA-kode, gør venligst som nedenfor:

1. Hold nede ALT + F11 tasterne, så åbner den Microsoft Visual Basic til applikationer vindue.

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

VBA-kode: Kopier hver række flere gange:

Sub insertrows()
'Updateby Extendoffice
Dim I As Long
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
If xCount < 1 Then
MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
GoTo LableNumber
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Rows(I).Copy
Rows(I).Resize(xCount).Insert
Next
Application.CutCopyMode = False
End Sub

3. Og tryk derefter på F5 nøgle til at køre denne kode, og der vises en hurtigboks for at minde dig om at indtaste det antal gange, du vil duplikere for hver post, se skærmbillede:

4. Klik derefter på OK, og hver række er kopieret og indsat 3 gange under de aktive, se skærmbillede:

Bemærk: I ovenstående kode er A angiver, at dataområdet er startet i kolonne A, hvis dine data starter i kolonne Kskal du ændre A til K som dit behov.


Kopier og indsæt hver række flere gange baseret på et bestemt nummer med en fantastisk funktion

Måske er du ikke fortrolig med VBA-koden, eller bekymrer dig om, at koden vil nedbringe dine data. Her vil jeg introducere en nyttig funktion, Kutools til Excel's Kopier rækker / kolonner baseret på celleværdi, med dette værktøj kan du hurtigt kopiere og indsætte rækkerne baseret på det nummer, du har angivet.

tips:At anvende dette Kopier rækker / kolonner baseret på celleværdi funktion, for det første skal du downloade Kutools til Excel, og anvend derefter funktionen hurtigt og nemt.

Efter installation Kutools til Excelskal du gøre som dette:

1. Indtast de gentagne numre, som du vil duplikere rækker på en liste over celler ved siden af ​​dine data, se skærmbillede:

2. Klik Kutools > indsatte > Kopier rækker / kolonner baseret på celleværdi, se skærmbillede:

3. I Kopier og indsæt rækker og kolonner dialogboksen, vælg Kopier og indsæt rækker valgmulighed i Type sektion, vælg derefter det dataområde, du vil duplikere, og angiv derefter gentagelsestiden for at duplikere rækkerne, se skærmbillede:

4. Klik derefter på Ok or Indløs knappen, får du følgende resultat, som du har brug for:

Klik for at downloade Kutools til Excel og gratis prøveversion nu!


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (32)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastisk makro - sparede mig så meget tid!
Denne kommentar blev minimeret af moderatoren på webstedet
rigtig flot makro makker!
Denne kommentar blev minimeret af moderatoren på webstedet
jeg vil generere duplikerede rækker tilfældigt,

for fx. generere tilfældige duplikerede rækker mellem 20 og 80.


hvad vil blive opdateret kode for følgende


Sub insertrows()
'Opdatering af Extendoffice 2016616
Dim I Så længe
Dim xCount Som heltal
Etiketnummer:
xCount = Application.InputBox("Antal rækker", "Kutools til Excel", , , , , , 1)
Hvis xCount < 1 Så
MsgBox "det indtastede antal rækker er fejl, indtast venligst igen", vbInformation, "Kutools for Excel"
Gå til etiketnummer
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Række til 1 Trin -1
Rækker(I). Kopi
Rækker(I).Resize(xCount).Indsæt
Næste
Application.CutCopyMode = False
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil duplikere rækker baseret på en parameter. For eksempel har jeg en kolonne med navnet mødevarighedstid. Hvis den kolonne er mere end 1, vil jeg duplikere møde-id-rækker baseret på det nummer. Hvis mødevarigheden er 2 timer, så duplikere møde-ID to gange. Hvis mødet varer 3 timer, så duplikere tre gange.
intervaller på en halv time kan rundes op til timen.

MeetingID Tidspunkt for start Tidspunkt for slut møde Varighed
43117 9:00 11:00 02:00
43580 9:30 11:00 01:30
42699 10:00 11:30 01:30
12345 01:00 PM 2:00 PM 01:00
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har samme problem. Har du fundet en løsning?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej gutter
Måske kan følgende VBA-kode gøre dig en tjeneste. Anvend den venligst:
Sub insertrows()
Dim I Så længe
Dim xRg As Range
Dim xTime, xMin Så længe
On Error Resume Next
Application.ScreenUpdating = False
For I = Range("D" & Rows.CountLarge).End(xlUp).Række til 1 Trin -1
xTime = 0
Indstil xRg = Range("D" & I)
xTime = Time(xRg.Value) + 1
xMin = Minut(xRg.Value)
Hvis xMin < 30, så er xTime = xTime - 1
Rækker(I). Kopi
Rækker(I). Ændr størrelse(xTime).Indsæt
Næste
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

Prøv det venligst. Håber det kan hjælpe dig!
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg brugte disse makroer tidligere, og det har altid virket indtil på det seneste. Enhver indsigt i, hvorfor det kun ville duplikere den øverste række, selv når du bruger makroer med flere rækker? Jeg har fjernet alle filtre/frosne ruder.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, hvordan kan jeg ændre koden til at inkludere følgende

1. dublet baseret på antal dage
2. Skift kolonne EOM fra slutningen af ​​måneden til daglig dato
Denne kommentar blev minimeret af moderatoren på webstedet
Virkelig tak for din støtte!!!!
Denne kommentar blev minimeret af moderatoren på webstedet
Elsker koden! hvordan indstiller jeg startområdet til at springe den første række over (kolonneoverskrifter) og starte på række 2?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Devin,
For at springe den første overskriftsrække over, skal du anvende følgende VBA-kode:

Sub insertrows()
Dim I Så længe
Dim xCount Som heltal
Etiketnummer:
xCount = Application.InputBox("Antal rækker", "Kutools til Excel", , , , , , 1)
Hvis xCount < 1 Så
MsgBox "det indtastede antal rækker er fejl, indtast venligst igen", vbInformation, "Kutools for Excel"
Gå til etiketnummer
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Række til 2 Trin -1
Rækker(I). Kopi
Rækker(I).Resize(xCount).Indsæt
Næste
Application.CutCopyMode = False
End Sub

Prøv det, håber det kan hjælpe dig!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg har brug for hjælp, sådan ser min tabel ud, for eksempel når jeg tilføjer 2 rækker i slutningen af ​​min 1. tabel, vil jeg have vba'en til at hjælpe mig med at gøre det samme for tabellen nedenfor (tilføj 2 rækker ved slutningen af ​​bordet). Så mit job bliver, behøver kun at tilføje rækker ved den 1. tabel, tabellen bælge vil alle generere rækker automatisk baseret på antallet af rækker i den 1. tabel. det er kodningen, jeg brugte nu til at tilføje række til den 1. tabel. Jeg håber nogen kan løse dette problem for mig, thx.Sub InsertNumRows()

ActiveCell.EntireRow.Copy

Dim Rng As Long

Application.DisplayAlerts = False
On Error Resume Next
Rng = InputBox("Indtast antallet af krævede rækker.")
På Fejl GoTo 0
Application.DisplayAlerts = True

Hvis Rng = 0, så
MsgBox "Du har ikke angivet et område!"
Exit Sub

Else
Område(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)).Vælg
Selection.EntireRow.Insert Shift:=xlDown
End If

End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Elsker det! Det virker hver gang! Mange tak for det :)
Denne kommentar blev minimeret af moderatoren på webstedet
hvordan gør jeg dette for kolonner?
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan kan jeg gøre dette for kolonner?
Denne kommentar blev minimeret af moderatoren på webstedet
hvordan man udfører den samme handling med udvalgte celler ved hjælp af VB,


Jeg skal gentage et par valgte celler (rækker og kolonner) x antal gange i samme ark og i samme rækkefølge som:

line1
line2
line3

line1
line2
line3
Denne kommentar blev minimeret af moderatoren på webstedet
hej dette fungerede godt, kun jeg skal have to rækker kopieret N antal gange. Kan du venligst justere koden, så når jeg vælger to rækker, vil den kopiere disse to rækker ned N gange? tak for din hjælp
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Sal,
Hvis du kun skal kopiere to rækker ned ad flere gange, skal du bare bruge VBA-koden 1 i denne artikel, anvende koden to gange vil løse dit problem. Prøv venligst, håber det kan hjælpe dig!
Denne kommentar blev minimeret af moderatoren på webstedet
Kopier og indsæt hver række flere gange med VBA-kode

Hvordan kan jeg vælge startrækken i VBA-kode
Denne kommentar blev minimeret af moderatoren på webstedet
Ingen funktion med Windows 2019, deseo usar la función en mención pero simplemente no has absolutamente nada
Denne kommentar blev minimeret af moderatoren på webstedet
hej alle sammen.. På forhånd tak for hjælpen!!

VBA-koden til at duplikere en specifik række flere gange fungerer perfekt, indtil du bruger et filter. Jeg spekulerer på, om nogen kan hjælpe mig med at løse dette problem. Jeg har brug for en kode, der virker, selvom du har nogle værdier filtreret. Jeg bruger en stor mængde data, der er sorteret efter lokationer. Koden fungerer delvist, den indsætter antallet af rækkeønsker, men ingen data eller format, når jeg har anvendt et filter.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, er det muligt at bruge forskellige størrelser (værdier) for hver række? Jeg prøver at bruge vektor, men det virker ikke.
For eksempel :
Rækker(I).Resize(xCount(y) ).Indsæt

Hvor værdierne gemt i xCount(y) læses fra en tabel.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Guss,
Måske kan nedenstående artikel hjælpe dig, tjek det venligst:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
Denne kommentar blev minimeret af moderatoren på webstedet
For den anden VBA-kode (VBA-kode: Dupliker hver række flere gange) får jeg hele tiden en køretidsfejl: 1004
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL