Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen x-fach in neuer Tabelle verdoppeln

Zeilen x-fach in neuer Tabelle verdoppeln
16.02.2016 16:08:23
Simon
Hallo,
ich sehe vor einer nicht alzu schweren Aufgabe, schaffe sie dennoch nicht.
Im Register AUFTRÄGE steht pro Zeile ein Auftrag. Wobei die Anzahl der Teile in Spalte C steht.
Nun sollen alle vollen Spalten aus dem Resister AUFTRÄGE im Register ETIKETTEN so oft untereinander geschrieben werden, wie jeweils in C angegeben ist.
Wenn also:
A B C
Meyer 3
Dann soll im Register ETIKETTEN werden:
A B C
Meyer 3
Meyer 3
Meyer 3
ich danke euch für die Hilfe!

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen x-fach in neuer Tabelle verdoppeln
16.02.2016 16:28:18
Daniel
Hi
kannst du mal ne Beispieltabelle hochladen?
vielleicht mit ein paar mehr Beispieldaten.
Gruß Daniel

AW: Zeilen x-fach in neuer Tabelle verdoppeln
16.02.2016 16:50:18
Michael
Hallo,
Da ich über ein Tablet eingene, möchte ich die sheet-Namen auf "A" und "E" verkürzen:
Sub myEti()
Lr1 = sheets("A").range("a1").currentregion.rows.count
Lr2 = sheets("E").range("a1").currentregion.rows.count + 1
For i = 2 to lr1
For j = 1 to sheets("a").cells(i, "c")
Sheets("e").cells(lr2,1) = sheets("a").cells(i,1)
Sheets("e").cells(lr2,2) = sheets("a").cells(i,"c")
Lr2 = lr2 + 1
Next j
Next i
End Sub
Mfg
(Tipfehler sind möglich, sheet "E" muss leer sein)

Anzeige
AW: Zeilen x-fach in neuer Tabelle verdoppeln
16.02.2016 17:19:06
Simon
Danke! das funktioniert Klasse! nur wie muss ich die Range einstellen, das mir die gesamte Zeile kopiert wird? jetzt macht er nur Spalten A und C

AW: Zeilen x-fach in neuer Tabelle verdoppeln
16.02.2016 18:33:28
Michael
Hallo,
Aus dem Gedächtnis und ungeprüft:
Row(i).copy sheets("e").row(lr2).pastespecial
Oder so ähnlich.
Mfg

Anzeige
AW: Zeilen x-fach in neuer Tabelle verdoppeln
17.02.2016 07:38:59
Simon
Hallo,
entweder habe ich es falsch eingefügt, oder es stimmt was nicht. Habe es jetzt als so gemacht, was aber nicht funktioniert.
Sub Etiketten()
lr1 = Sheets("A").Range Row(i).copy sheets("e").row(lr2).pastespecial
lr2 = Sheets("E").Range Row(i).copy sheets("e").row(lr2).pastespecial
For i = 2 To lr1
For j = 1 To Sheets("a").Cells(i, "c")
Sheets("e").Cells(lr2, 1) = Sheets("a").Cells(i, 1)
Sheets("e").Cells(lr2, 2) = Sheets("a").Cells(i, "c")
lr2 = lr2 + 1
Next j
Next i
End Sub
Kannst du bitte nochmal drüber schauen, so das ich die ganzen Zeilen komplett um den Wert X in Spalte "Anzahl" verdoppelt in Register "E" kopiere.
Vielen Dank!

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilen in Excel mehrfach duplizieren


Schritt-für-Schritt-Anleitung

Um in Excel jede Zeile zu verdoppeln und die Anzahl der Duplikate basierend auf einer Zahl in einer bestimmten Spalte zu erstellen, kannst du die folgende VBA-Makro-Lösung verwenden:

  1. Öffne Excel und lade dein Dokument mit den Daten im Register "AUFTRÄGE".
  2. Öffne den VBA-Editor: Drücke ALT + F11.
  3. Erstelle ein neues Modul: Rechtsklicke im Projektexplorer auf "VBAProjekt (dein Dokument)", gehe auf "Einfügen" und wähle "Modul".
  4. Füge den folgenden Code ein:
Sub myEti()
    Dim lr1 As Long
    Dim lr2 As Long
    Dim i As Long
    Dim j As Long

    lr1 = Sheets("AUFTRÄGE").Range("A1").CurrentRegion.Rows.Count
    lr2 = Sheets("ETIKETTEN").Range("A1").CurrentRegion.Rows.Count + 1

    For i = 2 To lr1
        For j = 1 To Sheets("AUFTRÄGE").Cells(i, "C").Value
            Sheets("ETIKETTEN").Cells(lr2, 1).Value = Sheets("AUFTRÄGE").Cells(i, 1).Value
            Sheets("ETIKETTEN").Cells(lr2, 2).Value = Sheets("AUFTRÄGE").Cells(i, 2).Value
            lr2 = lr2 + 1
        Next j
    Next i
End Sub
  1. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle myEti und klicke auf "Ausführen".

Damit werden alle vollen Spalten aus dem Register "AUFTRÄGE" im Register "ETIKETTEN" so oft untereinander geschrieben, wie jeweils in Spalte C angegeben.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."

    • Lösung: Stelle sicher, dass die Blattnamen "AUFTRÄGE" und "ETIKETTEN" korrekt geschrieben sind und existieren.
  • Fehler: Nur einige Spalten werden kopiert.

    • Lösung: Überprüfe den Code auf die Verwendung von Cells() und stelle sicher, dass die richtigen Spalten referenziert werden (hier Spalten A und B).

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Funktion "Power Query" in Excel verwenden, um deine Tabelle zu transformieren:

  1. Daten importieren: Gehe zu Daten > Abfragen und Verbindungen > Neue Abfrage > Aus Tabelle/Bereich.
  2. Daten transformieren: Wähle die Spalte mit der Anzahl der Duplikate aus und verwende die Funktion "Wiederholung" (Duplicate) in Power Query.
  3. Lade die transformierten Daten zurück in Excel.

Praktische Beispiele

Angenommen, du hast folgende Tabelle im Register "AUFTRÄGE":

A B C
Meyer 3 3
Schmidt 2 2

Nach Ausführung des Makros sieht die Tabelle im Register "ETIKETTEN" so aus:

A B
Meyer 3
Meyer 3
Meyer 3
Schmidt 2
Schmidt 2

Tipps für Profis

  • Wenn du oft mit solchen Aufgaben arbeitest, speichere das Makro in deiner persönlichen Makro-Arbeitsmappe, um es schneller zugänglich zu machen.
  • Experimentiere mit der Formel =WENNFEHLER(...) in Kombination mit VERGLEICH() und INDEX(), um dynamische Datenverknüpfungen zu erstellen.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehr Spalten zu kopieren?
Du musst die entsprechenden Cells() Referenzen im VBA-Code anpassen, um weitere Spalten zu duplizieren.

2. Funktioniert das Makro in Excel 365?
Ja, der Code ist kompatibel mit Excel 365 sowie älteren Versionen, die VBA unterstützen.

3. Gibt es eine Möglichkeit, die Duplikate in einer einzigen Zeile anzuzeigen?
Ja, anstatt die Zeilen zu duplizieren, kannst du die Inhalte der Zellen in eine einzige Zelle zusammenfassen, indem du eine Formel wie TEXTVERKETTEN() verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige