'Prozedur
Sub vorschlag1()
'Variable deklarieren
Dim zell As Range
'Variable initialisieren, repräsentiert hier den Bereich A1 in Tabelle2
Set zell = Tabelle2.Cells(1, 1)
'kopfgesteuerte Schleife, Abbruch wenn Zelleninhalt leer ist
Do While Not IsEmpty(zell)
'kopfgesteuerte Schleife, Abbruch wenn kein Komma mehr im Zelleninhalt vorhanden ist
Do While InStr(1, zell, ",") > 1
'Zeile einfügen
zell.EntireRow.Insert
'Zelleninhalt über der aktuellen Zelle wird beschrieben
zell.Offset(-1, 0) = Left(zell, InStr(1, zell, ",") - 1)
'Zelleninhalt der aktuellen Zelle wird beschrieben
zell = Mid(zell, InStr(1, zell, ",") + 1)
Loop 'hier endet die innere Schleife bzw. fängt von neuem an
'Zelle unter der aktuellen Zelle hernehmen
Set zell = zell.Offset(1, 0)
Loop 'hier endet die Schleife bzw. fängt von neuem an
End Sub 'Ende der Prozedur
Für mehr Infos, im speziellen auch zu Left und Mid, siehe bitte in der VBA-Hilfe nach, da sind die Funktionen im Detail erklärt.
Gruß
|