Excel - Opakujte řádky zadaný početrát
Řádky v listu aplikace Excel lze opakovat zadaný počet krát pomocí funkce definované uživatelem. Uživatelem definovaná funkce může být zapsána pro opakování řádků zadaného počtu časů . Některé znalosti o programovacích konceptech, jako jsou podmínky if-then-else a dělat, zatímco smyčky mohou být nezbytné pro zápis takové funkce. Příkaz Selection.insert lze použít k vložení řádků do listu aplikace Excel Office. Není třeba psát kód od nuly, protože úryvky kódu jsou volně dostupné pro použití v pracovních listech. Je však třeba zajistit, aby uživatelsky definovaná funkce nebo podprogram pro opakování řádků zadaný početrát byl vložen na správném místě.
- Problém
- Řešení
- Poznámka
Problém
Ví někdo, jak opakovat řádky v tabulce určitým počtem časů uvedených v buňce přítomné v tomto řádku?tj. z této tabulky:
Sloupec A Sloupec BPeter 3
James 7
David 4
Potřebuji tuto tabulku vytvořit:
Sloupec A Sloupec BPeter 3
Peter 3
Peter 3
James 7
James 7
James 7
James 7
James 7
James 7
James 7
David 4
David 4
David 4
David 4
Nějaké nápady na jednoduchý způsob, jak toho dosáhnout?
Řešení
Zkuste to:Sub CopyData ()Dim lRow As Long
Dim RepeatFactor As Variant
lRow = 1
Dokud (buňky (lRow, "A") "")
RepeatFactor = Buňky (lRow, "B")
Pokud ((RepeatFactor> 1) A IsNumeric (RepeatFactor)) Pak
Rozsah (buňky (lRow, "A"), buňky (lRow, "B")
Rozsah (buňky (lRow + 1, "A"), buňky (lRow + RepeatFactor - 1, "B").
Select.Insert Shift: = xlDown
lRow = lRow + RepeatFactor - 1
Konec Pokud
lRow = lRow + 1
Smyčka
End Sub