„Excel“ - makrokomandas, skirtas kopijuoti eilutes X kartų
Makrokomandas galima naudoti „Excel“ biuro programinėje įrangoje, kad būtų galima kopijuoti eilutes x kartų . Pakartotinės užduotys, pvz., Duomenų kopijavimas iš eilių, rankiniu būdu tampa neįmanomos, jei „Excel“ darbalapio įrašų skaičius yra per didelis. Net mažesniems darbalapiams patartina naudoti makrokomandas užduotims, pvz., Eilių kopijavimui X skaičiui darbo lape. Makrokomandos automatiškai atlieka užduotį, minimaliai įsikišdamos į žmogų, sumažindamos klaidų galimybes. Iš anksto parašytus makrokomandas galima parsisiųsti iš įvairių internetinių išteklių ir pakeisti norimoms užduotims atlikti. Gali prireikti tam tikrų žinių apie programavimą.
Problema
Norėčiau paimti pirmąją eilutę savo skaičiuoklėje, nukopijuoti jį „X“ kartų, tada eikite kitą eilutę, nukopijuokite tą patį „X“ skaičių kartų iki eilių pabaigos.
Pavyzdys
„ColA ColB ColC TextA TextA1 TextA2 TextB TextB1“ tekstasB2 TextC TextC1 TextC2 rezultatai (pvz., 3 kartus) ColA ColB ColC TextA TextA1 TextA2 TekstasA1 TextA2 TextA TextA1 TextA2 TekstasB1 TekstasB2 TekstasB TekstasB1 TekstasB2 TekstasB1 TekstasB2 TekstasB TekstasB1 TekstasB2 TekstasB TekstasB1 TekstasB2 Tekstas
Sprendimas
Tai makro:
Sub bandymas () Diapazonas kaip diapazonas, c Kaip diapazonas Dim rng1 Kaip diapazonas, c1 Kaip diapazonas Dim dest as Range, j Kaip Integer, k Kaip Integer darbalapius ("sheet2") Cell.Clear with Worksheets ("sheet1") Nustatyti rng = Range (.Range ("A2"), .Range ("A2"). Pabaiga (xlDown)) j = WorksheetFunction.CountA (.Rows ("1: 1")) 'msgbox j Kiekvienam c rng Set rng1 = Diapazonas (c.Offset (0, 1), .Cells (c.Row, Columns.Count) .End (xlToLeft)) 'msgbox rng1.Address kiekvienam c1 In rng1 Set dest = darbalapiai ("sheet2"). Ląstelės (eilutės.Skaičiuoti, "a"). Pabaiga (xlUp) .Offset (1, 0) 'msgbox dest.Address Jei c1 = "" Tada GoTo eilutė1 dest.Offset (0, 0) = c dest.Offset (0, 1) = .Cells (1, c1.Column) 'dest.Offset (0, 2) = c1 eilutė1: Kitas c1 Kitas c Pabaiga su pabaiga
Kitas metodas - duomenų bazės lentelė.-
ref: wlakenbach'o dienoraštis
//spreadsheetpage.com / ...
Pastaba
Ačiū venkat1926 už šį patarimą forume.