Neue Zeilen in Datenmenge einfügen
#1
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
Antworten Top
#2
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:
  • Seb2712
Antworten Top
#3
Hallo

bei deiner Version 365
Arbeitsblatt mit dem Namen 'Tabelle2'
ABCD
11000aAAAsd
21001bBBBa
31002cCCCas
41003dDDDf
51004eEEEf
61005fFFFd
71006gGGGf
81007hHHHd
91008iIIIf
101009jJJJd
111010kKKKg
121011lLLLhh
131012mMMMhh
141013nNNNg


Arbeitsblatt mit dem Namen 'Tabelle2'
KLMN
11000aAAAsd
21000aAAAsd
31000aAAAsd
41000aAAAsd
51000aAAAsd
61000aAAAsd
71000aAAAsd
81000aAAAsd
91000aAAAsd
101001bBBBa
111001bBBBa
121001bBBBa
131001bBBBa
141001bBBBa
151001bBBBa
161001bBBBa
171001bBBBa
181001bBBBa
191002cCCCas
201002cCCCas
211002cCCCas
221002cCCCas
231002cCCCas
241002cCCCas
251002cCCCas
261002cCCCas
271002cCCCas

ZelleFormel
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:
  • Seb2712
Antworten Top
#4
(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(
    VorgangsschritttabellennameTable.RowCount(Vorgangsschritttabellenname),
    {
        [CustomerID 26Name "Peter"Tel "auch neu aber unten angehängt"],
        [CustomerID 27Name "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:
  • Seb2712
Antworten Top
#5
(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:
  • Seb2712
Antworten Top
#6
(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....  78
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:
  • Seb2712
Antworten Top
#7
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  28  ich entdecke gerade völlig neue Horizonte  57


LG
Sebastian
Antworten Top
#8
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
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • snb
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste