Cookies helpen ons onze services te leveren. Door gebruik te maken van onze diensten, gaat u akkoord met ons gebruik van cookies.
Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe dupliceer je rijen op basis van de celwaarde in een kolom?

Ik heb bijvoorbeeld een gegevensbereik met een lijst met nummers in kolom D en nu wil ik de hele rijen een aantal keer dupliceren op basis van de numerieke waarden in kolom D om het volgende resultaat te krijgen. Hoe kan ik de rijen meerdere keren kopiëren op basis van de celwaarden in Excel?

doc dupliceren rijen per cel 1

Dubbele rijen meerdere keren op basis van celwaarden met VBA-code


pijl blauwe rechterbel Dubbele rijen meerdere keren op basis van celwaarden met VBA-code

Als u de volledige rijen meerdere keren wilt kopiëren en dupliceren op basis van de celwaarden, kan de volgende VBA-code u helpen, doe dit als volgt:

1. Houd de toets ingedrukt ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken bijvoegsel > moduleen plak de volgende code in de module Venster.

VBA-code: dubbele rijen meerdere keren op basis van de celwaarde:

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. Druk vervolgens op F5 om deze code uit te voeren, zijn de volledige rijen meerdere keren gedupliceerd op basis van de celwaarde in kolom D, zoals u nodig hebt.

Notes: In de bovenstaande code, de letter A geeft de startkolom van uw gegevensbereik en de letter aan D is de kolomletter waarvan u de rijen wilt dupliceren op basis van. Verander ze alstublieft naar uw behoefte.



Aanbevolen productiviteitstools

Office Tab

gouden ster1 Breng handige tabbladen naar Excel en andere Office-software, net zoals Chrome, Firefox en nieuwe Internet Explorer.

Kutools for Excel

gouden ster1 Verbazingwekkend! Verhoog uw productiviteit in 5 minuten. Heb geen speciale vaardigheden nodig, bespaar elke dag twee uur!

gouden ster1 300 Nieuwe functies voor Excel, maak Excel veel gemakkelijk en krachtig:

  • Cel / rijen / kolommen samenvoegen zonder gegevens te verliezen.
  • Combineer en consolideer meerdere bladen en werkmappen.
  • Bereiken vergelijken, meerdere bereiken kopiëren, tekst converteren naar datum, eenheid en valuta omrekenen.
  • Count by Colors, paging-subtotalen, geavanceerde sortering en superfilter,
  • Meer Selecteren / Invoegen / Wissen / Tekst / Formaat / Link / Commentaar / Werkmappen / Werkbladen Hulpmiddelen ...

Schermopname van Kutools voor 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