Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ZEintrag trennen & Werte vorheriger Z kopieren

ZEintrag trennen & Werte vorheriger Z kopieren
24.07.2014 22:05:13
Soffels
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZEintrag trennen & Werte vorheriger Z kopieren
25.07.2014 07:25:08
Christian
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige