A sütik segítenek nekünk Szolgáltatásainkat. Segítségével szolgáltatásainkat, Ön elfogadja a cookie-k használatát.
Tipp: Az egyéb nyelvek a Google Fordítva vannak. Látogasson el a English a link verziója.
Belépek
x
or
x
x
Regisztráció
x

or

Hogyan oszthatjuk meg az oszlopban a cellák értékének alapján létrehozott sorokat?

Például rendelkezem egy sor adattal, amely tartalmazza a D oszlopban lévő számok listáját, és most a D oszlopban lévő numerikus értékek alapján többször is meg szeretnék duplázni a teljes sorokat a következő eredmény eléréséhez. Hogyan másolhatom többször a sorokat az Excel cella értékei alapján?

doc duplikált sorokat az 1 cellával

Másoljon sorokat többször a VBA kóddal rendelkező cellák értékei alapján


arrow kék jobb buborék Másoljon sorokat többször a VBA kóddal rendelkező cellák értékei alapján

A teljes sorok többszörözésére és másolására a cellaértékek alapján a következő VBA-kód segíthet, kérjük, tegye meg ezt:

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.

VBA kód: többszörös sorok többszöröse a cellaérték alapján:

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. Ezután nyomja meg a gombot F5 kulcsot a kód futtatásához, akkor a teljes sorokat többször megismételjük a D oszlopban levő cellaérték alapján, amire szükségünk van.

Megjegyzések: A fenti kódban a levél A jelzi az adatsor kezdő oszlopát és a betűt D az az oszloplevél, amelyre a sorokat szeretné megismételni. Kérjük, változtassa meg őket az Ön igényeire.



Ajánlott termelékenységi eszközök

Office Tab

arany star1 Kényelmes lapokat hozhat Excel és más Office szoftverekhez, akárcsak a Chrome, a Firefox és az új Internet Explorer.

Kutools for Excel

arany star1 Elképesztő! Növelje termelékenységét 5 perc alatt. Nincs szükség különleges képességekre, kivéve két órát minden nap!

arany star1 300 Az Excel új funkciói, az Excel nagyon egyszerű és erőteljes:

  • A cella / sorok / oszlopok egyesítése adatok elvesztése nélkül.
  • Több lap és munkafüzet kombinálása és egységesítése.
  • Hasonlítsa össze a tartományokat, másolja a többszörös tartományokat, konvertálja a dátumot, a mértékegységet és a pénznemek konverzióját.
  • Számolás a Színek, a Paging Subtotals, az Advanced Sort és a Super Filter,
  • Több Select / Insert / Delete / Szöveg / Formátum / Link / Comment / Workbooks / Worksheets Tools ...

A Kutools for Excel képernyőkép

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