Excel Zeilen kopieren

GeForce4

Lieutenant
Registriert
Mai 2002
Beiträge
520
Hi zusammen
Ich habe hier eine Excel Stückliste, die ich gerne vereinzeln möchte.

Das heisst in der Stückliste ist die Anzahl ("n") in einer Spalte vorhanden und ich möchte gerne Zeile "n" Mal kopieren und dann falls nötig das "n" durch eine 1 ersetzen. Denkbar ist auch die Ablage auf einem neuen Tabellenblatt, falls dies etwas vereinfacht.

Z.B. in Spalte C stehen Werte wie 2, 3, 1, 5 und die kompletten Zeilen werden dann 2-Mal, 2-Mal,... kopiert.


Kann mir da jemand helfen, ich kenne mich leider zu wenig mit Makros und VBA aus um dies zu bewerkstelligen.

Liebe Grüsse
Christian
 
Als ersten Denkanstoß ist es hilfreich, den Makro-Recorder zu nutzen.
Da kannst du den gesamten Vorgang einmal aufnehmen und erhälst automatisch die korrekten Befehle. Dann musst du "nur noch" die Parameter so einstellen dass es allgemein funktioniert. Der so generierte Code ist eigentlich ganz gut lesbar. Und wenn du, so wie ich, marginale Programmierkenntnisse (3 Monate Java in der Schule vor 10 Jahren und ein winziges Bisschen C++ an der Uni) hast sollte das eigentlich machbar sein.
 
Was mir hauptsächlich Sorgen macht ist die abhängige Vervielfältigung. Die Aufzeichnungsfunktion ist zwar schon eine Hilfe, aber genau dieser Vorgang kann dort nicht abgebildet werden.
 
Naja das ist ja in etwa das was ich oben in anderen Worten geschrieben habe.
Du musst halt in dem von Makro-Recorder aufgezeichneten Code noch deine Parameter (zB "lese Zelle aus und vervielfältige so oft" -> Googlesuche "VBA Excel Zelle als Variable übernehmen") einbauen. Das ist in meinen Augen der einfachste Weg.

Sonst wissen meiner Erfahrung nach die Leute im Office-Loesung.de-Forum bei solchen Dingen sehr gut Bescheid.
 
Um eine Zeile mehrfach zu kopieren nimmst du dann halt einfach eine Schleife:
Code:
for i = 1 to Cells(x,y).Value do ...
Wenn du deine Anforderungen etwas präziser ausformulierst und vllt. mal ein Bsp hier hoch stellst, wird dir hier sicher schnell geholfen.
 
Zurück
Oben