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 B

Peter 3

James 7

David 4

Potřebuji tuto tabulku vytvořit:

 Sloupec A Sloupec B

Peter 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

Poznámka

Díky rizvisa1 za tento tip na fóru.
Předchozí Článek Následující Článek

Nejlepší Tipy