Cookies nám pomáhají poskytovat naše služby. Využitím našich služeb, souhlasíte s našimi používání cookies.
Tip: Jiné jazyky jsou přeloženy společností Google. Můžete navštívit English verze tohoto odkazu.
Přihlásit se
x
or
x
x
Registrovat
x

or

Jak duplikovat řádky založené na hodnotě buňky ve sloupci?

Mám například řadu dat, které obsahují seznam čísel ve sloupci D a nyní chci duplicit celé řádky několikrát na základě číselných hodnot ve sloupci D, aby se získal následující výsledek. Jak mohu opakovaně kopírovat řádky na základě hodnot buňky v aplikaci Excel?

doc duplicitní řádky podle buňky 1

Duplicitní řádky jsou několikrát založeny na hodnotách buněk s kódem VBA


arrow modrá pravá bublina Duplicitní řádky jsou několikrát založeny na hodnotách buněk s kódem VBA

Chcete-li kopírovat a duplikovat celé řádky několikrát na základě hodnot buňky, může vám pomoci následující kód VBA:

1. Podržte stisknuté tlačítko ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložíte následující kód Modul Okno.

VBA kód: Duplicitní řádky několikrát založené na hodnotě buňky:

Sub CopyData()
'Updateby Extendoffice 20160922
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

3. Pak stiskněte tlačítko F5 klíč k spuštění tohoto kódu, celé řádky byly duplikovány vícekrát na základě hodnoty buňky ve sloupci D, jak potřebujete.

Poznámka: Ve výše uvedeném kódu je písmeno A označuje počáteční sloupec rozsahu dat a písmeno D je sloupec písmeno, které chcete duplikovat řádky na základě. Změňte je podle potřeby.



Doporučené nástroje pro produktivitu

Karta Office

zlatá hvězda1 Přiveďte praktické karty do aplikace Excel a jiného softwaru Office, stejně jako Chrome, Firefox a nový Internet Explorer.

Kutools pro Excel

zlatá hvězda1 Úžasný! Zvyšte svou produktivitu v minutách 5. Nepotřebujete žádné speciální dovednosti, kromě dvou hodin denně!

zlatá hvězda1 300 Nové funkce pro aplikaci Excel, Značka Excel je velmi snadná a výkonná:

  • Sloučit buňky / řádky / sloupce bez ztráty dat.
  • Kombinovat a konsolidovat více listů a sešitů.
  • Srovnání rozsahů, kopírování více rozsahů, převod textu na datum, konverzi jednotek a měn.
  • Počet podle barvy, dílčí součty stránkování, třídění podle rozšířeného třídění a super filtru,
  • Více Vyberte / Vložit / Odstranit / Text / Formát / Odkaz / Komentář / Workbooks / Worksheets Nástroje ...

Snímka obrazovky Kutools pro Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    KAS · 1 months ago
    Is there a way to update the module to only duplicate new data? I'm working on an ongoing document and do not want the code to duplicate data that has been previously duplicated.
  • To post as a guest, your comment is unpublished.
    Gerardo Enrique Heras Araujo · 2 months ago
    hi, for me is no working, I want to remove letters and number duplicate is possible?
  • To post as a guest, your comment is unpublished.
    Naomi · 2 months ago
    This script seems to be exactly what I need, however, when I run it I am getting an error on the line Selection.Insert Shift:=x1Down

    Any suggestions on how I fix this?
  • To post as a guest, your comment is unpublished.
    Manuel F · 2 months ago
    Thanks! it has been a great solution for all my troubles!
  • To post as a guest, your comment is unpublished.
    Leah · 3 months ago
    Hello, this worked great. However, I have a report with 1000 entries and the code stopped duplicating around entry 480. Is there something that I can add so that it completes the action on the entire report?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 months ago
      Hello, Leah,
      I have tested the code in 2000 rows, and it works well.
      Could you send your worksheet to me for testing the code?
      My email address is skyyang@extendoffice.com
      Look forward to your reply!
      • To post as a guest, your comment is unpublished.
        Leah · 3 months ago
        Hello! I got it to work. It was an error on my side, the report had a few blank rows that were hidden that were causing the script to stop looping. It worked for my report with 8,000 rows! Thank youQ