Cookies nám pomáhajú poskytovať naše služby. Využitím našich služieb, súhlasíte s našimi používanie cookies.
Tip: Iné jazyky sú Google preložené. Môžete navštíviť English verziu tohto odkazu.
Prihlásiť sa
x
or
x
x
Registrovať
x

or

Ako duplikovať riadky na základe hodnoty bunky v stĺpci?

Napríklad mám rad údajov, ktoré obsahujú zoznam čísel v stĺpci D a teraz chcem duplikovať celé riadky niekoľkokrát na základe číselných hodnôt v stĺpci D, aby som získal nasledujúci výsledok. Ako by som mohol skopírovať riadky viackrát na základe hodnôt buniek v programe Excel?

doc duplicitné riadky pomocou bunky 1

Duplicitné riadky sú viackrát založené na hodnotách buniek s kódom VBA


arrow modrá pravá bublina Duplicitné riadky sú viackrát založené na hodnotách buniek s kódom VBA

Ak chcete kopírovať a duplikovať celé riadky viackrát na základe hodnôt buniek, vám môže pomôcť nasledujúci kód VBA, postupujte takto:

1, Podržte stlačené tlačidlo ALT + F11 klávesy na otvorenie Microsoft Visual Basic pre aplikácie okno.

2, kliknite Vložiť > Modulya vložte nasledujúci kód do priečinka Moduly Okna.

Kód VBA: duplicitné riadky viackrát vychádzajú z hodnoty bunky:

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, Potom stlačte tlačidlo F5 kľúč na spustenie tohto kódu, celé riadky boli duplikované niekoľkokrát na základe hodnoty bunky v stĺpci D, ako potrebujete.

Poznámky: Vo vyššie uvedenom kóde je písmeno A označuje začiatočný stĺpec rozsahu údajov a písmeno D je písmeno stĺpca, ktoré chcete duplikovať na základe riadkov. Prosím, zmeňte ich podľa potreby.



Odporúčané nástroje produktivity

Karta Office

zlatá hviezdička1 Prinášajte užitočné karty do programu Excel a iného softvéru balíka Office, rovnako ako Chrome, Firefox a nový Internet Explorer.

Kutools pre Excel

zlatá hviezdička1 Úžasný! Zvýšte svoju produktivitu za minúty 5. Nepotrebujú žiadne špeciálne schopnosti, okrem dvoch hodín denne!

zlatá hviezdička1 300 Nové funkcie pre program Excel, robiť Excel veľmi ľahké a výkonné:

  • Zlúčiť bunky / riadky / stĺpce bez straty dát.
  • Kombinácia a konsolidácia viacerých hárkov a pracovných kníh.
  • Porovnanie rozsahov, kopírovanie viacerých rozsahov, prevod textu na dátum, konverzia jednotiek a mien.
  • Počet podľa farieb, Medzisúčty stránkovania, Rozšírené triedenie a Super filter,
  • Viac Vyberte / Vložiť / Odstrániť / Text / Formát / Odkaz / Komentár / Pracovné zošity / pracovné listy Nástroje ...

Obraz obrazovky Kutools pre 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