Aufteilen von Text in Zellen in separate Zeilen

Aufteilen von Text in Zellen in separate Zeilen

Ich bin vor einiger Zeit auf diesen Code gestoßen. Er funktioniert einwandfrei, aber ich möchte ein paar Änderungen daran vornehmen, damit er meinen Wünschen entspricht. Ich habe eine Weile an diesem Code herumgebastelt und konnte ihn bisher nicht alleine auf die Reihe kriegen und brauche Hilfe.

Link zur ursprünglichen Frage:https://stackoverflow.com/questions/19815321/text-to-rows-vba-excel

Option Explicit

Sub Main()

    Columns("B:B").NumberFormat = "@"
    Dim i As Long, c As Long, r As Range, v As Variant

    For i = 1 To Range("B" & Rows.Count).End(xlUp).Row
        v = Split(Range("B" & i), "/")
        c = c + UBound(v) + 1
    Next i

    For i = 2 To c
        Set r = Range("B" & i)
        Dim arr As Variant
        arr = Split(r, "/")
        Dim j As Long
        r = arr(0)
        For j = 1 To UBound(arr)
            Rows(r.Row + j & ":" & r.Row + j).Insert Shift:=xlDown
            r.Offset(j, 0) = arr(j)
            r.Offset(j, -1) = r.Offset(0, -1)
            r.Offset(j, 1) = r.Offset(0, 1)
        Next j
    Next i

End Sub

Wie kann ich diesen Code ändern, wenn ich mehr Spalten habe, die so sortiert werden müssen, wie dieser Code die Daten derzeit sortiert? Denn im Moment verarbeitet er nur 3 Spalten links und rechts von Spalte „B“.

Ich weiß nicht, ob ich mich vage ausdrücke oder nicht, aber ich weiß wirklich nicht, wie ich mein Problem erklären soll. Ich bin für jede Hilfe dankbar.

Antwort1

Sie ändern diesen Teil des Codes -

r.Offset(j, 0) = arr(j)
r.Offset(j, -1) = r.Offset(0, -1)
r.Offset(j, 1) = r.Offset(0, 1)

um die zusätzlichen Spalten einzuschließen -

r.Offset(j, 0) = arr(j)
r.Offset(j, -1) = r.Offset(0, -1)
r.Offset(j, 1) = r.Offset(0, 1)
r.Offset(j, 2) = r.Offset(0, 2)
r.Offset(j, 3) = r.Offset(0, 3)
r.Offset(j, 4) = r.Offset(0, 4)

Oder anders gesagt: Sie kompensieren durchNWoNkann positiv oder negativ sein (rechts/links oder unten/oben), indem es in die offset()Funktion eingefügt wird.

verwandte Informationen