Nachdem ich mir schon ein einen Wolf suche und leider kein Coding finde, das meinen Bedarf deckt, möchte ich euch um Hilfe ersuchen. Im Wesentlichen geht es darum innerhalb einer Tabelle Zeilen zu kopieren und in derselben Tabelle wieder einzufügen - aber nicht am Ende der Tabelle sondern mittendrin.
Folgende Anforderung
In einer Tabelle befinden sich n Zeilen welche in einer Spalte mit 0 - n beistrichgetrennten Texteinträgen befüllt sind
zB.: abcde-1962, abcde-1835, abcde-909
Ziel ist es nun, all jene Zeilen der Tabelle, in welchen in obenganannter Spalte mehr als ein Eintrag steht, zu kopieren und unmittelbar unterhalb der originalen Zeile einzufügen.
Darüber hinaus sollen am Ende soviiele Zeilen stehen, wie in der originalen Zeile Einträge in besagter Spalte waren. Und damit das noch kniffliger wird, soll in all den nun vorhandenen Zeilen (inklusive der originalen Zeile) in besagter Spalte nur noch jeweils einer der Einträge stehen.
Ich hätte - als nicht VBA gescillter - damit begonnen - erstellt von einem Unbekannten im Netz und etwas abgewandelt...
Option Explicit
Sub ZeileEinfuegen()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, "N").End(xlUp).Row To 1 Step -1
If InStr(LCase(Cells(i, "N")), ",") > 0 Then
Cells(i, "N").EntireRow.Copy
Cells(i + 1, "N").EntireRow.Insert
End If
Next
Application.ScreenUpdating = False
End Sub
Nur, wie zerlege ich nun den Inhalt der Spalte so, dass jede Zeile nur noch einen Eintrag in dieser Spalte hat?
lg & Danke bereits im Voraus für eure Mühen!
Günter