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

Hur kopierar och infogar jag rad flera gånger eller duplicerar raden x gånger i Excel?

Har du någonsin försökt kopiera en rad eller varje rad i ditt dagliga arbete och sedan infoga flera gånger under den aktuella dataraden i ett kalkylblad? Till exempel har jag ett antal celler, nu vill jag kopiera varje rad och klistra in dem tre gånger till nästa rad enligt följande skärmdump. Hur kan du hantera det här jobbet i Excel?


Kopiera och infoga en specifik rad flera gånger med VBA-kod

Om du bara vill kopiera en specifik rad x gånger kan följande VBA-kod hjälpa dig, gör så här:

1. Ange en rad som du vill kopiera och infoga flera gånger och håll sedan ned ALT + F11 och sedan öppnas Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Duplicera en specifik rad flera gånger:

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 klistrat in koden, tryck F5 nyckel för att köra den här koden och en snabbruta visas för att påminna dig om att ange antalet gånger som du vill kopiera, se skärmdump:

4. Klicka sedan OK och tre nya kopierade rader har infogats under vald rad, se skärmdump:


Kopiera och infoga varje rad flera gånger baserat på ett visst nummer enkelt

Normalt finns det inte en bra metod för att kopiera och infoga rader flera gånger förutom att hantera kopiering och infogning manuellt. Men med Kutools för Excel's Duplicera rader / kolumner baserat på cellvärde kan du enkelt lösa detta problem. Klicka för att ladda ner Kutools för Excel!

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 60 dagar. Ladda ner och testa gratis nu!


Kopiera och sätt in varje rad flera gånger med VBA-kod

För att duplicera varje rad flera gånger i ett intervall kan du använda följande VBA-kod, gör så här:

1. Håll ner ALT + F11 och sedan öppnas Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Duplicera varje rad flera gånger:

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. Och tryck sedan på F5 nyckel för att köra den här koden och en snabbruta visas för att påminna dig om att ange antalet gånger som du vill kopiera för varje post, se skärmdump:

4. Klicka sedan OK, och varje rad har kopierats och infogats tre gånger under de aktiva, se skärmdump:

Anmärkningar: I ovanstående kod är A indikerar att dataområdet har startat vid kolumn A, om dina data börjar vid kolumnen K, snälla ändras A till K som ditt behov.


Kopiera och sätt in varje rad flera gånger baserat på ett visst nummer med en fantastisk funktion

Kanske är du inte bekant med VBA-koden, eller oroar dig för att koden kommer att krascha dina data. Här kommer jag att presentera en användbar funktion, Kutools för Excel's Duplicera rader / kolumner baserat på cellvärde, med det här verktyget kan du snabbt kopiera och infoga raderna baserat på det nummer du angav.

Tips:Att tillämpa detta Duplicera rader / kolumner baserat på cellvärde funktionen, först bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Ange de upprepande siffrorna som du vill duplicera rader i en lista med celler bredvid dina data, se skärmdump:

2. Klicka Kutools > Insert > Duplicera rader / kolumner baserat på cellvärde, se skärmdump:

3. I Kopiera och infoga rader och kolumner dialogrutan väljer du Kopiera och infoga rader alternativet i Typ markera sedan det dataintervall du vill kopiera och ange sedan upprepningstiden för att duplicera raderna, se skärmdump:

4. Klicka sedan Ok or tillämpas -knappen får du följande resultat efter behov:

Klicka för att ladda ner Kutools för Excel och gratis testversion nu!


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (32)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Fantastiskt makro - sparade mig så mycket tid!
Denna kommentar minimerades av moderatoren på webbplatsen
riktigt snygg makro kompis!
Denna kommentar minimerades av moderatoren på webbplatsen
jag vill generera dubbletter av rader slumpmässigt,

för ex. generera slumpmässiga dubbletter av rader mellan 20 och 80.


vad kommer att uppdateras kod för följande


Sub insertrows()
'Uppdatering av Extendoffice 2016616
Dim I As Long
Dim xCount As heltal
Etikettnummer:
xCount = Application.InputBox("Antal rader", "Kutools för Excel", , , , , , 1)
Om xCount < 1 Då
MsgBox "det angivna antalet rader är fel, vänligen ange igen", vbInformation, "Kutools för Excel"
Gå till etikettnummer
End If
För I = Range("A" & Rows.CountLarge).End(xlUp).Rad Till 1 Steg -1
Rader(I). Kopiera
Rader(I).Ändra storlek(xAntal).Infoga
Nästa
Application.CutCopyMode = False
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill duplicera rader baserat på en parameter. Till exempel har jag en kolumn som heter möteslängd. Om den kolumnen är mer än 1 vill jag duplicera mötes-ID-rader baserat på det numret. Om möteslängden är 2 timmar, duplicera mötes-ID två gånger. Om mötet är 3 timmar, duplicera tre gånger.
en halvtimmes steg kan avrundas upp till timmen.

MeetingID Tid för start Tid för slut möteslängd
43117 9:00 11:00 02:00
43580 9:30 11:00 01:30
42699 10:00 11:30 01:30
12345 01:00 2:00 01:00
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem. Har du hittat en lösning?
Denna kommentar minimerades av moderatoren på webbplatsen
Tjena,
Kanske kan följande VBA-kod göra dig en tjänst, använd den:
Sub insertrows()
Dim I As Long
Dim xRg As Range
Dim xtimme, xmin så lång
On Error Resume Next
Application.ScreenUpdating = False
För I = Range("D" & Rows.CountLarge).End(xlUp).Rad Till 1 Steg -1
xtimme = 0
Ställ in xRg = Range("D" & I)
xHour = Hour(xRg.Value) + 1
xMin = Minute(xRg.Value)
Om xMin < 30 Då är xHour = xHour - 1
Rader(I). Kopiera
Rader(I).Ändra storlek(xtimme).Infoga
Nästa
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

Vänligen prova det. Hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använde detta makron tidigare och det har alltid fungerat tills nyligen. Någon insikt om varför det bara skulle duplicera den översta raden även när man använder makron med flera rader? Jag har tagit bort alla filter/frysta rutor.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, hur kan jag ändra koden så att den innehåller följande

1. dubblett baserat på antal dagar
2. ändra kolumn EOM från slutet av månaden till dagsdatum
Denna kommentar minimerades av moderatoren på webbplatsen
Verkligen tack för ditt stöd!!!!
Denna kommentar minimerades av moderatoren på webbplatsen
Älskar koden! hur ställer jag in startintervallet så att det hoppar över den första raden (kolumnrubriker) och börjar på rad 2?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Devin,
För att hoppa över den första rubrikraden, använd följande VBA-kod:

Sub insertrows()
Dim I As Long
Dim xCount As heltal
Etikettnummer:
xCount = Application.InputBox("Antal rader", "Kutools för Excel", , , , , , 1)
Om xCount < 1 Då
MsgBox "det angivna antalet rader är fel, vänligen ange igen", vbInformation, "Kutools för Excel"
Gå till etikettnummer
End If
För I = Range("A" & Rows.CountLarge).End(xlUp).Rad Till 2 Steg -1
Rader(I). Kopiera
Rader(I).Ändra storlek(xAntal).Infoga
Nästa
Application.CutCopyMode = False
End Sub

Prova det, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag behöver hjälp, så här ser min tabell ut, till exempel när jag lägger till 2 rader i slutet av min 1:a tabell vill jag att vba hjälper mig att göra samma sak för tabellen nedan (lägg till 2 rader vid slutet av tabellen). Så mitt jobb kommer att vara, behöver bara lägga till rader vid den första tabellen, tabellen bälg kommer alla att generera rader automatiskt baserat på antalet rader i den första tabellen. det är kodningen jag använde nu för att lägga till rad för den första tabellen. Jag hoppas att någon kan lösa det här problemet åt mig, thx.Sub InsertNumRows()

ActiveCell.EntireRow.Copy

Dim Rng As Long

Application.DisplayAlerts = False
On Error Resume Next
Rng = InputBox("Ange antal rader som krävs.")
På Fel GoTo 0
Application.DisplayAlerts = Sant

Om Rng = 0 Då
MsgBox "Du har inte angett ett intervall!"
Exit Sub

annars
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)). Välj
Selection.EntireRow.Insert Shift:=xlDown
End If

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Älskar det! Det fungerar varje gång! Tack så mycket för detta :)
Denna kommentar minimerades av moderatoren på webbplatsen
hur gör jag detta för kolumner?
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan jag göra detta för kolumner?
Denna kommentar minimerades av moderatoren på webbplatsen
hur man utför samma åtgärd med valda celler med hjälp av VB,


Jag behöver upprepa några markerade celler (rader och kolumner) x antal gånger i samma ark och i samma ordning som:

line1
line2
line3

line1
line2
line3
Denna kommentar minimerades av moderatoren på webbplatsen
hej detta fungerade bra, bara jag behöver två rader kopierade N antal gånger. Kan du snälla justera koden så att när jag väljer två rader kopieras de två raderna ner N gånger? tack för hjälpen
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Sal,
Om du bara behöver kopiera två rader ner flera gånger behöver du bara använda VBA-koden 1 i den här artikeln, använd koden två gånger för att lösa ditt problem. Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Kopiera och infoga varje rad flera gånger med VBA-kod

Hur kan jag välja startraden i VBA-koden
Denna kommentar minimerades av moderatoren på webbplatsen
No funciona con Windows 2019, deseo usar la función en mención pero simplemente no hace absolutamente nada
Denna kommentar minimerades av moderatoren på webbplatsen
hej alla.. Tack på förhand för hjälpen!!

VBA-koden för att duplicera en specifik rad flera gånger fungerar perfekt tills du använder ett filter. Jag undrar om någon kan hjälpa mig att lösa detta problem. Jag behöver en kod som fungerar även om du har filtrerat vissa värden. Jag använder en stor mängd data som sorteras efter platser. Koden fungerar delvis, den klistrar in antalet rader som önskas men ingen data eller format när jag har använt ett filter.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, är det möjligt att använda olika storlekar (värden) för varje rad? Jag försöker använda vektor, men det fungerar inte.
Till exempel :
Rader(I). Ändra storlek(xAntal(y) ).Infoga

Där värdena sparade i xCount(y) läses från en tabell.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Guss,
Kanske kan artikeln nedan hjälpa dig, kolla in den:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
Denna kommentar minimerades av moderatoren på webbplatsen
För den andra VBA-koden (VBA-kod: Duplicera varje rad flera gånger) får jag hela tiden ett körtidsfel: 1004
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL