Hoe rijen dupliceren op basis van celwaarde in een kolom?
Bij het werken met Excel-gegevenstabellen moet u soms hele rijen dupliceren op basis van een waarde in een specifieke kolom. Stel bijvoorbeeld dat u een tabel heeft waarin kolom D een getal aangeeft, en uw doel is om elke rij even vaak te kopiëren of invoegen als de waarde in de corresponderende cel in kolom D. Dit kan handig zijn voor het uitbreiden van gegevens, het voorbereiden van datasets voor testdoeleinden, het simuleren van inventaris of het genereren van herhaalde orderregels. Het efficiënt bereiken hiervan zonder handmatige herhaling helpt de integriteit van de gegevens behouden en versnelt de workflow aanzienlijk, vooral bij grotere tabellen.
![]() | ![]() | ![]() |
Rijen meerdere keren dupliceren op basis van celwaarden met VBA-code
Rijen dupliceren via Power Query-transformatie
Rijen meerdere keren dupliceren op basis van celwaarden met VBA-code
Als u snel duplicaten moet maken van hele rijen op basis van waarden in een specifieke kolom (bijvoorbeeld in kolom D), biedt VBA een directe en efficiënte oplossing. Deze aanpak is vooral waardevol bij het verwerken van grote datasets, omdat het het proces automatiseert en helpt om nauwkeurigheid te garanderen. Het werken met VBA vereist echter enige basiskennis van het tabblad Ontwikkelaar in Excel en een begrip van hoe u macro's moet uitvoeren. Het grootste voordeel is de flexibiliteit – de code kan worden aangepast om te passen bij verschillende bereiken of doelkolommen. Aan de andere kant, als u niet bekend bent met VBA of als beveiligingsbeleid macro's blokkeert in uw omgeving, overweeg dan een van de alternatieve oplossingen hieronder.
1. Houd de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
2. Klik op Invoegen > Module en plak de volgende code in het Modulevenster.
VBA-code: Rijen meerdere keren dupliceren op basis van celwaarde:
Sub CopyData()
'Updateby Extendoffice
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 de F5-toets om deze code uit te voeren. De hele rijen zullen meerdere keren worden gedupliceerd op basis van de celwaarde in kolom D, overeenkomstig uw vereisten.
Kopieer en voeg rijen in op basis van een gespecificeerd aantal keer met een handig hulpmiddel - Kutools voor Excel
Als u een methode zonder het gebruik van code prefereert, of als u een gebruiksvriendelijke interface wilt om batch-duplicatie te beheren, biedt Kutools voor Excel een praktische oplossing. De functie 'Rijen/Kolommen dupliceren op basis van celwaarde' stelt u in staat om rijen snel te kopiëren en in te voegen volgens het aantal dat is opgegeven in de relevante cellen. Dit is ideaal voor personen die regelmatig dergelijke herhalende rijbewerkingen uitvoeren en een meer visuele, aanpasbare procedure nodig hebben. Kutools behoudt de lay-out en opmaak van de originele tabel tijdens het dupliceren, wat het risico op onbedoelde fouten vermindert. Deze methode werkt soepel ongeacht uw VBA-ervaring en verbetert de efficiëntie aanzienlijk voor middelgrote tot grote gegevensbereiken.
- Klik op Kutools > Invoegen > Rijen/Kolommen dupliceren op basis van celwaarde om deze functie te activeren;
- Kies vervolgens de optie Rijen kopiëren en invoegen en specificeer de cellen van het Invoegbereik en Herhalingstijden apart in het dialoogvenster. Bevestig uw keuzes en klik op OK.
Rijen dupliceren via Power Query-transformatie
Power Query biedt een robuuste, herhaalbare oplossing voor het dupliceren van rijen op basis van een kolomwaarde - ideaal voor grotere tabellen of wanneer u gegevens regelmatig moet vernieuwen. Door dit hulpmiddel te gebruiken, kunt u rijen uitbreiden op basis van numerieke indicatoren zonder formules of code. Deze methode werkt goed voor gebruikers die een visueel uitlegbaar, stapsgewijs proces willen en herhaalbaarheid nodig hebben bij toekomstige gegevensupdates.
1. Voeg uw gegevens toe aan een Excel-tabel (selecteer het bereik en druk op Ctrl+T). Ga naar Gegevens > Van Tabel/Bereik om uw tabel in Power Query te laden.
2. Selecteer in de Power Query-editor het tabblad Kolom toevoegen en klik op Aangepaste kolom.
3. Typ de volgende formule om een lijst te genereren voor elke rij op basis van de waarde in kolom D. ( Opmerking: U moet [D] vervangen door uw echte kolomkop. Bijvoorbeeld, hier selecteer ik de Herhalingstijden en klik op de knop Invoegen om het argument [D] te vervangen.)
List.Repeat({1}, [D])
4. Klik op de knop Uitvouwen naast de nieuwe aangepaste kolom en klik op Uitvouwen naar nieuwe rijen.
5. Vervolgens kunt u zien dat de gegevens zijn gedupliceerd op basis van de waarden in kolom D, zie screenshot:
6. Verwijder indien nodig de hulpkolommen en klik op Sluiten & Laden om de gegevens terug te brengen naar Excel.
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!