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.