Microsoft Excel

Herbers Excel/VBA-Archiv

ZEintrag trennen & Werte vorheriger Z kopieren

Betrifft: ZEintrag trennen & Werte vorheriger Z kopieren von: Soffels
Geschrieben am: 24.07.2014 22:05:13

Hallo zusammen!
Bin hier komplett neu, also ich hoffe ich komm nicht zu dämlich rüber ;)

Ich habe folgendes Problem:
zugrunde liegt mir eine Tabelle A:P mit variabler Zeilenanzahl.
In Zeile N und O stehen jeweils mehrere Wörter welche durch ein Semikolon getrennt sind. Die Anzahl dieser variert, dürfte aber max.15 nicht überschreiten.

Ich möchte jetzt diese Werte jeweils trennen und in eine neue Zeile schreiben, dabei soll die neue Zeile alle Einträge der Ursprungszeile übernehmen.
Die gleiche Prozedur soll für Spalte O ablaufen.
Quasi wie folgt:

Ursprung:
a|b|c|d|e|f|g|h....n1;n2;n3;n4|o1;o2;o3|p

Ergebnis:

a|b|c|d|e|f|g|h....n1|o1|p
a|b|c|d|e|f|g|h....n1|o2|p
a|b|c|d|e|f|g|h....n1|o3|p
a|b|c|d|e|f|g|h....n2|o1|p
a|b|c|d|e|f|g|h....n2|o2|p
...
a|b|c|d|e|f|g|h....n4|o3|p

Ich habe bisher die Spalte N in ein neues Arbeitsblatt kopiert (um es mir besser zu veranschaulichen) und die enthaltenen Zeichenfolgen in Spalten getrennt (m.H.v.Datentools), die Anzahl Einträge in der jeweiligen Zeile per Formel gezählt und m.H. von ner kurzen VBA-Formel die passende Anzahl neuer Zeilen unter dem jeweiligen Eintrag eingefügt.
Dieses Makro muss ich aber bei jeder Zeile erneut aufrufen, was die Arbeit unnötig verkompliziert. Zudem möchte ich ja noch die Einträge aus den Spalten in die Zeilen kopieren und die Tabelleneinträge von "oben" übernehmen.
Achtung: die Einträge die übernommen werden sollen sind nicht immer die gleichen, d.h. in der zweiten `Ursprungszeile` stehen neue "a bis p´s" usw. ...

Die Schritte die ich logisch gehen muss, sind mir schon irgendwie bewusst, nur kenn ich mich mit VBA überhaupt nicht aus.

Ich hoffe, dass ihr mir helfen könnt und ich hab es nicht zu kompliziert erklärt. Eine Recherche nach den passenden Befehlen blieb bisher leider erfolglos.

Beste Grüße
Soffels

  

Betrifft: AW: ZEintrag trennen & Werte vorheriger Z kopieren von: Christian
Geschrieben am: 25.07.2014 07:25:08

Hallo,

Deine Aussage:

Achtung: die Einträge die übernommen werden sollen sind nicht immer die gleichen, d.h. in der zweiten `Ursprungszeile` stehen neue "a bis p´s" usw. ...
ist mir noch nicht ganz klar!

Ansonsten mal ein Ansatz ohne VBA mit zwei Hilfsspalten:

 ABCDEFGHIJKLMNOP
1abcdefghijklmn1;n2;n3;n4o1;o2;o3p


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8




 RSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAP
1n1o1       abcdefghijklmn1o1p
2n2o2       abcdefghijklmn1o2p
3n3o3       abcdefghijklmn1o3p
4n4        abcdefghijklmn2o1p
5         abcdefghijklmn2o2p
6         abcdefghijklmn2o3p
7         abcdefghijklmn3o1p
8         abcdefghijklmn3o2p
9         abcdefghijklmn3o3p
10         abcdefghijklmn4o1p
11         abcdefghijklmn4o2p
12         abcdefghijklmn4o3p

Formeln der Tabelle
ZelleFormel
R1=WENN(ZEILE()>LÄNGE($N$1)-LÄNGE(WECHSELN($N$1;";";))+1;"";TEIL(LINKS(";"&$N$1;FINDEN("#";WECHSELN(";"&$N$1;";";"#";ZEILE(A2))&"#")-1); FINDEN("#";WECHSELN(";"&$N$1;";";"#";ZEILE(A1))&"#")+1;99))
S1=WENN(ZEILE()>LÄNGE($O$1)-LÄNGE(WECHSELN($O$1;";";))+1;"";TEIL(LINKS(";"&$O$1;FINDEN("#";WECHSELN(";"&$O$1;";";"#";ZEILE(A2))&"#")-1); FINDEN("#";WECHSELN(";"&$O$1;";";"#";ZEILE(A1))&"#")+1;99))
AA1=WENN($AN1="";"";A$1)
AB1=WENN($AN1="";"";B$1)
AC1=WENN($AN1="";"";C$1)
AD1=WENN($AN1="";"";D$1)
AE1=WENN($AN1="";"";E$1)
AF1=WENN($AN1="";"";F$1)
AG1=WENN($AN1="";"";G$1)
AH1=WENN($AN1="";"";H$1)
AI1=WENN($AN1="";"";I$1)
AJ1=WENN($AN1="";"";J$1)
AK1=WENN($AN1="";"";K$1)
AL1=WENN($AN1="";"";L$1)
AM1=WENN($AN1="";"";M$1)
AN1=WENN(ZEILE()>SUMMENPRODUKT(($R$1:$R$1000<>"")*1)*SUMMENPRODUKT(($S$1:$S$1000<>"")*1); "";INDEX(R:R;((ZEILE()-1)/SUMMENPRODUKT(($S$1:$S$1000<>"")*1))+1))
AO1=WENN(AN1="";"";INDEX(S:S;REST(ZEILE()-1;SUMMENPRODUKT(($S$1:$S$1000<>"")*1))+1))
AP1=WENN($AN1="";"";P$1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

MfG Christian


 

Beiträge aus den Excel-Beispielen zum Thema "ZEintrag trennen & Werte vorheriger Z kopieren"