Zeilen einfügen nach Aggregierung

Bild

Betrifft: Zeilen einfügen nach Aggregierung
von: Ernst Schumann
Geschrieben am: 02.07.2015 11:28:56

Liebes Forum,
ich habe folgendes Problem: Ich habe eine lange Liste bei der die Anzahl aller Teilnehmer aggregiert wurde. Ich habe hierfür eine Beispielmappe hochgeladen. Im Prinzip geht es darum, dass ich Zeile 1 so oft kopiert haben möchte, wie es Teilnehmer gab. Dann unten drunter soll die Zeile 2 so oft kopiert werden, wie es Teilnehmer gab. usw.
https://www.herber.de/bbs/user/98598.xlsx
Wenn ich richtig denke, dann müsste man also unter Zeile 1 die Teilnehmerzahl minus eins an Zeilen einfügen und Zeile 1 dann in alle kopieren. Im nächsten Schritt müsste dann unter der ehemaligen Zeile 2 wieder x Zeilen eingefügt werden um die Inhalte rein zu kopieren.
Ich hoffe, ich konnte mich einigermaßen gut ausdrücken... =)
Ich wäre Euch sehr dankbar, wenn irgendjemand eine Lösung für mein Problem hätte.
Vielen Dank im Voraus.
Viele liebe Grüße
Ernst.

Bild

Betrifft: AW: Zeilen einfügen nach Aggregierung
von: Michael
Geschrieben am: 02.07.2015 12:45:42
Hallo Ernst,
so daß Du also viermal die Überschrift und jeden Kurs auch jeweils viermal untereinander stehen hast?
Kann man machen, in VBA halt (bitte ins Codefenster von "Tabelle1" kopieren):

Sub Kopieren()
Dim bis&, i&
bis = Range("A" & Rows.Count).End(xlUp).Row
Range("J1").Value = 0
Range("J2:J" & bis).Formula = "=J1+1"
For i = 1 To bis - 2
Range("A1:J" & bis).Copy Cells(i * bis + 1, 1)
Next
Application.CutCopyMode = False
Range("A1").CurrentRegion.Sort Key1:=Range("J1")
Range("J1:J" & bis ^ 2).Clear
Range("A1").Select
End Sub
Abgesehen davon frage ich mich, wozu das gut sein soll. Sagen wir mal so: eine derartige *Redundanz* läßt mich einen Denkfehler vermuten...
Schöne Grüße,
Michael

Bild

Betrifft: AW: Zeilen einfügen nach Aggregierung
von: Ernst Schumann
Geschrieben am: 02.07.2015 13:09:47
Hallo Michael,
vielen Dank für deine Antwort. Das ist echt nett...
Was auf jeden Fall klappt, ist das Einfügen neuer Zeilen und das Kopieren. Allerdings sollen die Zeilen variabel kopiert werden. Wenn man jetzt das Beispiel nimmt, dann soll die Zeile "Kochen" am Ende 13 mal da stehen. Die Zeile "Teamentwicklung" 25 mal. usw.
Die Zeilen sollen also immer so oft kopiert werden, wie es in Spalte B angegeben ist. Und da sehe ich persönlich (aber ich kenne mich auch überhaupt nicht wirklich aus ;-] ) das Problem, weil ja immer unterschiedlich viele Zeilen eingefügt werden müssen, je nachdem welche Zahl entsprechend in Spalte B steht.
Ich danke Dir ganz recht herzlich.
Liebe Grüße
Ernst

Bild

Betrifft: AW: Zeilen einfügen nach Aggregierung
von: Michael
Geschrieben am: 02.07.2015 15:11:09
Hallo Ernst,
aha, jetzt hab ich's begriffen.
Versuch's mal damit:

Sub Kopieren()
Dim bis&, i&, z&, anzahl&
bis = Range("A" & Rows.Count).End(xlUp).Row
z = bis + 1
Range("J1").Value = 0
For i = 2 To bis: Range("J" & i).Value = i - 1: Next
For i = 2 To bis
  anzahl = Range("b" & i).Value
  If anzahl > 1 Then
    Range("A" & i & ":J" & i).Copy Range("A" & z & ":A" & z + anzahl - 2)
    z = z + anzahl - 1
  End If
Next
Application.CutCopyMode = False
Range("A1").CurrentRegion.Sort Key1:=Range("J1")
Range("J1:J" & z).Clear
Range("A1").Select
End Sub
Schöne Grüße,
Michael

Bild

Betrifft: AW: Zeilen einfügen nach Aggregierung
von: Ernst Schumann
Geschrieben am: 02.07.2015 17:26:42
Super Michael. Hat Funktioniert...!
Ganz herzlichen Dank!

Bild

Betrifft: freut mich, danke für die Rückmeldung owT
von: Michael
Geschrieben am: 03.07.2015 12:43:31
Gruß,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilen einfügen nach Aggregierung"