Auslesen String und Ausgabe im neuen Tabellenblatt
04.08.2025 10:17:05
Bepprich
leider stehe ich derzeit aufm Schlauch. Ich habe in einer Spalte mehrere Zeilen untereinander, wo ich aus einer Zeichenkette einzelnen Frangmente auslesen möchte, die durch ein Komma getrennt sind. Den letzten Teil der Zeichenkette möchte ich nicht weiter bearbeiten, sondern nur bis zum letzten Komma:
Muster in der jeweiligen Zeile: "ABC12, ABB43, AG44, irgendein Text"
Für diesen Fall möchte ich nur einzeln bis zum letzten Komma die Zeichenkette aufsplitten, so dass folgende "Fragmente" entstehen:
ABC12
ABB43
AG44
Diese "Fragmente" möchte ich dann in einer Spalte eines neuen Tabellenblatt ausgeben lassen.
Die Zeichenkette ist auch unterschiedlich lang. Das heißt, von 1 bis 9 "Fragmente".
Das Ganze bezieht sich nicht nur auf eine Zeile, sondern auf mehrere.
Ich habe mir was überlegt und festgestellt, dass im Direktfenster alle Fragmente, die ich mir wünsche, erscheinen. Allerdings klappt die Ausgabe im neuen Tabellenblatt nicht, da werden viel weniger "Fragmente" ausgegeben. Vermutlich wird irgendwas ersetzt/überschrieben.
Für Tipps und Anregungen bin ich sehr dankbar.
Anbei der Code:
Sub SplitCommaSeparatedString()
Dim myString As String
Dim myArray() As String
Dim i As Integer
Dim j As Integer
Dim zeile As Long, spalte As Long
zeile = 2 'Beispiel: mit Zeile 2 beginnend
spalte = 11 'Beispiel: Spalte 11
For j = 1 To 19
zeile = j + 1
'Den Wert der Zelle auslesen
myString = Cells(zeile, spalte).Value
'Leerzeichen rauslöschen
myString = Replace(myString, " ", "")
'Den String mit Komma als Trennzeichen aufteilen
myArray = Split(myString, ",")
'Ausgabe des Arrays in das Direktfenster (Optional)
For i = LBound(myArray) To UBound(myArray) - 1 'das letzte Arrayelement nicht nehmen
Debug.Print myArray(i)
'Debug.Print "Zeile vor Ausgabe = " & zeile
Worksheets("Tabelle2").Cells(zeile, 10).Value = myArray(i)
zeile = zeile + 1
'Debug.Print myArray(i)
'Debug.Print "Zeile nach Ausgabe = " & zeile
Next i
Next j
End Sub
Anzeige