Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1572to1576
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

auf mehrere Zeilen aufteilen

auf mehrere Zeilen aufteilen
17.08.2017 14:15:14
Kisska
Hallo zusammen,
ich brauche eure Hilfe bei der Erweiterung dieses VBA-Codes:
http://www.excel-ist-sexy.de/mehrzeiler-in-1-zelle-aufteilen/
Ich habe folgende Tabelle vorliegen:
A B C D
In Zeile 1
... unter A steht der Name
... unter B steht Wohnort
... unter C steht Hobbies
... unter D steht Geburtstag
Die Einträge in den Spalten A,B und D sind eindeutig. In der Spalte C gibt es mehrere Einträge, die mit einem Komma und einem Leerzeichen voneinander getrennt sind.
Ich möchte nun meine Tabelle so umwandeln, dass es keine mehrere Einträge pro Zelle gibt.
Beispiel:
2. Katja | München | Kochen, Zeichnen | 10.03.1980
3. Peter | Berlin | Tennis, Lesen | 02.04.1975
Soll werden:
2. Katja | München | Kochen | 10.03.1980
3. Katja | München | Zeichnen | 10.03.1980
4. Peter | Berlin | Tennis | 02.04.1975
5. Peter | Berlin | Lesen | 02.04.1975
In diesem Beispiel haben Katja und Peter jeweils zwei Hobbies. Mittels VBA soll automatisch erkannt werden, wo mehrere Einträge in der Spalte C gibt und diese dann ggf. aufteilen. Die anderen Zell-Inhalte sollen einfach dupliziert werden.
Im Beispiel wurde Zeile 3 eingefügt und der zweite Eintrag in C3 übertragen, die anderen Inhalte aus A2,B2 und D2 wurden einfach nach unten kopiert. Analog für Peter.
In dem Link (s.o.) werden die Zellen mit mehreren Einträgen aufgeteilt. Was dem Code noch fehlt sind a) selbstständig neue Zeilen einzufügen, wo es notwendig ist und b) die eindeutigen Werte rüberkopieren
Kann mir jemand helfen, den Code zu erweitern oder gerne auch einen alternativen Code vorschlagen?
Viele Grüße
Kisska

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hier ein Beispiel für Dich...
17.08.2017 15:42:15
Michael
Kisska,
https://www.herber.de/bbs/user/115540.xlsm
Probier's aus, einfach die Schaltfläche auf dem Tabellenblatt "Daten" betätigen. Siehe auch die Kommentare im Code (bzgl. Anpassungen). Kommst Du damit zurecht?
LG
Michael
AW: Hier ein Beispiel für Dich...
17.08.2017 22:45:04
Christian
... und noch eins :-)
Sub Splitten()
Dim Coll As Collection
Set Coll = New Collection
' Einlesen auf Tabellenblatt1
With ThisWorkbook.Worksheets("Tabelle1")
Dim oRow As Variant
For Each oRow In .Cells(1, 1).CurrentRegion.Rows
Dim x As Variant
x = Split(oRow.Cells(1, 3), ",")
Dim i As Integer
For i = LBound(x) To UBound(x)
Dim y(3) As Variant
' Name
y(0) = oRow.Cells(1, 1)
' Ort
y(1) = oRow.Cells(1, 2)
' Hobby
y(2) = Trim(x(i))
' Datum
y(3) = oRow.Cells(1, 4)
Coll.Add y
Next i
Next oRow
End With
' Ausgabe auf Tabellenblatt 2
With ThisWorkbook.Worksheets("Tabelle2")
For i = 1 To Coll.Count
.Range(.Cells(i, 1), .Cells(i, 4)) = Coll.Item(i)
Next i
End With
End Sub
Viel Spaß beim Analysieren und Testen der Vorschläge!
VG, Ch.
Anzeige
2 Lösungen + 0 Feedback = 100% enttäuschend, owT
21.08.2017 09:08:25
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige