Registriert seit: 12.03.2025
Version(en): Office365
Hallo zusammen,
Ich habe eine Datei mit 4 Spalten und insgesamt 450 Zeilen. Alle Felder sind mit Informationen belegt.
In Zeile A1 steht fortlaufend nach unten jeweils eine individuelle Kundennummer. Nun möchte ich das unter jede individuelle Kundennummer entweder 8 Leerzeilen eingefügt werden.
Bestenfalls aber das gleich in die neuen 8 Leerzeilen untendrunter die identische A1Kundennummer/B1Kundenname/C1 Zusatzinfo/ steht denn ich muss die Variable D1 Faktor/ E1 Bezeichnung individuell verändern.
Gibt es eine Möglichkeit ohne das ich jetzt einzeln unter jede Kundenzeile reinklicke und 8 Zeilen hinzufüge?
Vielen Dank für jegliche Tipps!
LG Sebastian
Registriert seit: 18.10.2020
Version(en): 365
12.03.2025, 16:01
(Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2025, 16:01 von Warkings.)
Mein Vorschlag mit Powerquery Code: let Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content], Erweitert = Table.AddColumn(Quelle, "Dummy", each {1,2,3,4,5,6,7,8}), Expandiert = Table.ExpandListColumn(Erweitert, "Dummy"), // Liste in Zeilen auflösen OhneHilfsspalte = Table.RemoveColumns(Expandiert,{"Dummy"}) // Hilfsspalte entfernen in OhneHilfsspalte
Mit VBA Code: Sub DupliziereZeilen() ' mehrfach Dim wsQuelle As Worksheet, wsZiel As Worksheet Dim letzteZeile As Long Dim i As Long, zielZeile As Long, j As Long Dim rngQuelle As Range, rngZiel As Range ' Setze Arbeitsblätter Set wsQuelle = ThisWorkbook.Sheets("Tabelle1") Set wsZiel = ThisWorkbook.Sheets("Tabelle2") ' Letzte Zeile in der Quelltabelle ermitteln letzteZeile = wsQuelle.Cells(Rows.Count, 1).End(xlUp).Row ' Bildschirmaktualisierung und Berechnung deaktivieren Application.ScreenUpdating = False Application.Calculation = xlCalculationManual ' Zielblatt leeren wsZiel.Cells.Clear ' Überschrift kopieren wsQuelle.Rows(1).Copy Destination:=wsZiel.Rows(1) ' Starte das Kopieren der Zeilen zielZeile = 2 ' Startet in der zweiten Zeile (nach der Überschrift) For i = 2 To letzteZeile ' Durch alle Datenzeilen iterieren Set rngQuelle = wsQuelle.Rows(i) ' Mehrfache Kopie der Zeile mit weniger Speicherzugriffen Set rngZiel = wsZiel.Rows(zielZeile & ":" & zielZeile + 7) rngQuelle.Copy Destination:=rngZiel ' Zielzeile für die nächste Kopie aktualisieren zielZeile = zielZeile + 8 Next i ' Bildschirmaktualisierung und Berechnung wieder aktivieren Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic ' Meldung nach Abschluss MsgBox "Zeilen wurden erfolgreich vervielfacht!", vbInformation End Sub
Folgende(r) 1 Nutzer sagt Danke an Warkings für diesen Beitrag:1 Nutzer sagt Danke an Warkings für diesen Beitrag 28
• Seb2712
Registriert seit: 05.09.2019
Version(en): Office 365
Hallo bei deiner Version 365 Arbeitsblatt mit dem Namen 'Tabelle2' | | A | B | C | D | 1 | 1000 | a | AAA | sd | 2 | 1001 | b | BBB | a | 3 | 1002 | c | CCC | as | 4 | 1003 | d | DDD | f | 5 | 1004 | e | EEE | f | 6 | 1005 | f | FFF | d | 7 | 1006 | g | GGG | f | 8 | 1007 | h | HHH | d | 9 | 1008 | i | III | f | 10 | 1009 | j | JJJ | d | 11 | 1010 | k | KKK | g | 12 | 1011 | l | LLL | hh | 13 | 1012 | m | MMM | hh | 14 | 1013 | n | NNN | g |
Arbeitsblatt mit dem Namen 'Tabelle2' | | K | L | M | N | 1 | 1000 | a | AAA | sd | 2 | 1000 | a | AAA | sd | 3 | 1000 | a | AAA | sd | 4 | 1000 | a | AAA | sd | 5 | 1000 | a | AAA | sd | 6 | 1000 | a | AAA | sd | 7 | 1000 | a | AAA | sd | 8 | 1000 | a | AAA | sd | 9 | 1000 | a | AAA | sd | 10 | 1001 | b | BBB | a | 11 | 1001 | b | BBB | a | 12 | 1001 | b | BBB | a | 13 | 1001 | b | BBB | a | 14 | 1001 | b | BBB | a | 15 | 1001 | b | BBB | a | 16 | 1001 | b | BBB | a | 17 | 1001 | b | BBB | a | 18 | 1001 | b | BBB | a | 19 | 1002 | c | CCC | as | 20 | 1002 | c | CCC | as | 21 | 1002 | c | CCC | as | 22 | 1002 | c | CCC | as | 23 | 1002 | c | CCC | as | 24 | 1002 | c | CCC | as | 25 | 1002 | c | CCC | as | 26 | 1002 | c | CCC | as | 27 | 1002 | c | CCC | as |
Zelle | Formel | K1 | =INDEX(A$1:D$450; AUFRUNDEN(SEQUENZ(ANZAHL2(A$1:A$450)*9; ;1; 1)/9; 0); SEQUENZ(1; SPALTEN(A$1:D$450))) |
Die Formel ist selbsterweiternd LG UweD
Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:1 Nutzer sagt Danke an UweD für diesen Beitrag 28
• Seb2712
Registriert seit: 25.11.2021
Version(en): 2019, 365
12.03.2025, 17:55
(Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2025, 17:56 von Ralf A.)
(12.03.2025, 16:01)Warkings schrieb: Mein Vorschlag mit Powerquery
Code: let Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content], Erweitert = Table.AddColumn(Quelle, "Dummy", each {1,2,3,4,5,6,7,8}), Expandiert = Table.ExpandListColumn(Erweitert, "Dummy"), // Liste in Zeilen auflösen OhneHilfsspalte = Table.RemoveColumns(Expandiert,{"Dummy"}) // Hilfsspalte entfernen in OhneHilfsspalte
Moin, er will ja NUR 8 Zeilen ohne neue Spalte anfügen. Also braucht er kein AddColumn mit einer 8er Liste. Ein InsertRows wäre da evtl praktischer.... Bsp. (aus Faulheitsgründen hier nur mit 2 Datensätzen und ohne Schleife) PHP-Code: Table.InsertRows( Vorgangsschritttabellenname, Table.RowCount(Vorgangsschritttabellenname), { [CustomerID = 26, Name = "Peter", Tel = "auch neu aber unten angehängt"], [CustomerID = 27, Name = "Paul", Tel = "auch angehängt"] } )
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:1 Nutzer sagt Danke an Ralf A für diesen Beitrag 28
• Seb2712
Registriert seit: 18.10.2020
Version(en): 365
(12.03.2025, 17:55)Ralf A schrieb: Moin,
er will ja NUR 8 Zeilen ohne neue Spalte anfügen. Also braucht er kein AddColumn mit einer 8er Liste. Ein InsertRows wäre da evtl praktischer.... Woher willst Du wissen, was er will? Ich habe nur einen Vorschlag geliefert! Es wird auch keine Spalte am Ende angefügt, das ist eine reine temporäre Hilfsspalte. Das geht sicher auch anders, besser oder ich treffe vielleicht gar nicht das Anliegen des TO.
Folgende(r) 1 Nutzer sagt Danke an Warkings für diesen Beitrag:1 Nutzer sagt Danke an Warkings für diesen Beitrag 28
• Seb2712
Registriert seit: 25.11.2021
Version(en): 2019, 365
(12.03.2025, 18:50)Warkings schrieb: Woher willst Du wissen, was er will?
Ich habe nur einen Vorschlag geliefert! Es wird auch keine Spalte am Ende angefügt, das ist eine reine temporäre Hilfsspalte.
Das geht sicher auch anders, besser oder ich treffe vielleicht gar nicht das Anliegen des TO. ...war doch keine grundsätzliche Kritik, sondern auch nur ein Vorschlag. Im Übrigen schätze ich Deine Beiträg durchaus! Woher ich weiss, was er will? Ist auch nur eine Interpretation seines Post's....
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:1 Nutzer sagt Danke an Ralf A für diesen Beitrag 28
• Seb2712
Registriert seit: 12.03.2025
Version(en): Office365
Guten Morgen zusammen, danke erstmal an alle für die Zahlreichen Antworten! Die Formel von UweD war für mich als Excel Anfänger noch am meisten überschaubar und hat klasse funktioniert! Vielen Dank dafür! Mit Power Querry und und VBA muss ich mich aber auch mal befassen  ich entdecke gerade völlig neue Horizonte  LG Sebastian
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Sebastian,
wenn es "erforderlich" ist, in einer Liste zusätzliche Zeilen einzufügen, dann liegt im Aufbau ein grundsätzlicher Fehler vor. Es muss jederzeit möglich sein, eine Liste zu sortieren, ohne dass dabei Strukturen zerstört werden. Will sagen: jede einzelne Zeile muss ein eigener Datensatz sein, dessen Position in der Gesamtliste ohne Bedeutung ist.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
|