Excel - Vyplní údaje podľa premennej

Problém

Chcem vyplniť hárok programu Excel s premenlivým počtom riadkov podľa čísla vloženého do pevného stĺpca.

 stĺpec ABCD r1 2009096 1001 19 5 r2 2009097 1002 12 2 r3 2009097 1003 36 6 r4 2009099 1004 10 3 r5 2009099 1005 11 3 r6 2009099 1006 12 2 r7 2009099 1007 13 4 r8 2009101 1008 25 5 r9 2009102 1009 19 5 

Podľa čísel vložených v stĺpci D mám v úmysle získať nasledujúci výsledok:

 2009096 1001 19 r5 2009096 1001 19 r6 2009097 1002 12 r7 2009096 1001 12 r8 2009097 1002 12 r7 2009096 1002 12 r8 2009097 1003 36 r9 2009097 1002 12 r8 2009097 1003 36 r9 2009097 1003 36 r10 2009097 1003 36 r9 2009097 1003 36 r10 2009097 1003 36 r11 2009097 1003 36 r10 2009097 1003 36 r11 2009097 1003 36 r12 2009097 1003 36 r12 2009097 1003 36 r11 2009097 1003 36 r12 2009097 1003 36 r12 r13 2009097 1003 36 

Riešenie

Za predpokladu, že dáta sú v hárku 1, začínajúc na riadku 1 (bez záhlavia).

Výsledok sa zobrazí v hárku2.

Opravte názvy hárkov a najprv vytvorte zálohu súboru a potom zistite, či toto makro poskytuje požadovaný výsledok:

 Sub Test () Dim lRow, lRow2, x, y Ako Integer lRow = Listy ("sheet1") Rozsah ("E" & Rows.Count) .End (xlUp) .Row pre každú bunku v listoch ("Sheet1") .Range ("E1: E" & lRow) x = cell.Value y = 0 Do listy ("Sheet1") Vyberte rozsah (bunky (bunka.Row, "A"), bunky (cell.Row, "D" Copy lRow2 = Sheets ("Sheet2") Rozsah ("A" & Rows.Count) .End (xlUp) .Offset (1, 0) .Row Sheets ("Sheet2"). lRow2) .PasteSpecial y = y + 1 Slučka Do x = y Nasledujúca bunka End Sub 

Vďaka TrowaD za tento tip.

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy