Excel - makro za kopiranje vrstic X število krat

Makroje lahko uporabite v Excelovi programski opremi za kopiranje vrstic x število krat . Ponavljajoče se naloge, kot je kopiranje podatkov iz vrstic ročno, postanejo neizvedljive, če je število zapisov v Excelovem delovnem listu previsoko. Tudi za manjše delovne liste je priporočljivo uporabiti makre za naloge, kot je kopiranje vrstic za X število krat v delovnem listu. Makri opravijo nalogo samodejno z minimalnim človeškim posegom, ki zmanjšuje možnosti napak. Vnaprej napisane makre lahko prenesete iz različnih spletnih virov in spremenite, da opravite želene naloge. Morda bo potrebno znanje o programiranju.

Težava

Rad bi vzel prvo vrstico v moji preglednici, jo kopiral »X« večkrat, nato pa vzel naslednjo vrstico, jo kopiral isto »X« število, do konca vrstic.

Vzorec

 ColA ColB ColC TextA TextA1 TextA2 TextB TextB2 TextB2 TextC TextC1 TextC2 TextA2 TextA TextA1 TextA2 TextA TextA TextA2 TextB TextB2 

Rešitev

To je makro:

 Sub test () Dim rng As Range, c Kot obseg Dim rng1 As Range, c1 As Range Razpon Dim Dest Range, j As Integer, k As Integer liste ("sheet2"). Cells.Clear With Worksheets ("sheet1") Set rng = Razpon (.Range ("A2"), .Range ("A2"). End (xlDown)) j = WorksheetFunction.CountA (.Rows ("1: 1")) 'msgbox j Za vsak niz rng1 = Območje (c.Offset (0, 1), .Cell (c.Row, Columns.Count). End (xlToLeft)) 'msgbox rng1.Address For Each c1 V rng1 Set dest = Delovni listi ("sheet2"). Celice (Rows.Count, "a") End (xlUp) .Offset (1, 0) "msgbox dest.Address Če c1 =" "Potem GoTo line1 dest.Offset (0, 0) = c dest.Offset (0, 1) = .Cell (1, c1.Column) 'dest.Offset (0, 2) = c1 line1: Naslednja c1 Naslednja c Konec s koncem Sub 

Druga metoda -pivotna tabela baze podatkov.

ref: wlakenbach blog

//spreadsheetpage.com / ...

Opomba

Hvala za venkat1926 za ta nasvet na forumu.

Prejšnji Članek Naslednji Članek

Top Nasveti