Excel - Een macro om rijen X een aantal keer te kopiëren

Macro's kunnen in Excel office-software worden gebruikt om rijen x keer te kopiëren . Herhaalde taken zoals het manueel kopiëren van gegevens uit rijen worden niet uitvoerbaar als het aantal records in een Excel-werkblad te hoog is. Zelfs voor kleinere werkbladen is het raadzaam om macro's te gebruiken voor taken zoals het een aantal keer kopiëren van rijen in een werkblad. Macro's voeren de taak automatisch uit met minimale menselijke tussenkomst waardoor de kans op fouten wordt verkleind. Vooraf geschreven macro's kunnen worden gedownload van verschillende online bronnen en worden gewijzigd om de gewenste taken uit te voeren. Er is enige kennis van programmeren vereist.

Kwestie

Ik wil graag de eerste rij in mijn spreadsheet nemen, het nummer "X" een aantal keer kopiëren en vervolgens de volgende rij nemen, het hetzelfde "X" aantal malen kopiëren, tot het einde van de rijen.

Monster

 ColA ColB ColC TextA TextA1 TextA2 TextB TextB1 TextB2 TextC TextC1 TextC2 Resultaten (bijvoorbeeld 3 keer) ColA ColB ColC TextA TextA1 TextA2 TextA TextA1 TextA2 TextA TextA1 TextA2 TextB TextB1 TextB2 TextB TextB1 TextB2 TextB TextB1 TextB2 TextC TextC1 TextC2 TextC TextC1 TextC2 TextC TextC1 TextC2 

Oplossing

Dit is de macro:

 Sub test () Dimmen rng As Bereik, c As Bereik Dimmen rng1 As Bereik, c1 As Bereik Dim dest als bereik, j Als geheel getal, k Als gehele werkblad ("sheet2"). Cells.Clear met werkbladen ("sheet1") Set rng = Bereik (.Range ("A2"), .Range ("A2"). End (xlDown)) j = WorksheetFunction.CountA (.Rows ("1: 1")) 'msgbox j For Each c In rng Set rng1 = Bereik (c.Offset (0, 1), .Cells (c.Row, Columns.Count) .End (xlToLeft)) 'msgbox rng1.Address voor elke c1 In rng1 Stel dest = werkbladen ("sheet2") in. Cells (Rows.Count, "a"). End (xlUp) .Offset (1, 0) 'msgbox dest.Address If c1 = "" Then GoTo line1 dest.Offset (0, 0) = c dest.Offset (0, 1) = .Cells (1, c1.Column) 'dest.Offset (0, 2) = c1 line1: Next c1 Next c End With End Sub 

Een andere methode - draaitabel van database.-

ref: wlakenbach blog

//spreadsheetpage.com / ...

Notitie

Met dank aan Venkat1926 voor deze tip op het forum.

Vorige Artikel Volgende Artikel

Top Tips