Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hi
da muss noch eine Schleife außenrum hinzugefügt werden (Code nur Beispielhaft, bitte nicht kopieren, sondern lesen, verstehen und selber schreiben)
For each rngZelle in Range("G4:G999999").SpecialCells(xlcelltypeconstants, 2)
strText = Zelle.Value
For i = 1 To Len(strText)
c = Mid(strText, i, 1)
....
....
next i
' In Array aufteilen anhand des Platzhalters "|"
arrTeile = Split(strErgebnis, "|")
' Ergebnisse in nebeneinanderliegende Spalten schreiben (ab Spalte H / Index 8)
For i = LBound(arrTeile) To UBound(arrTeile)
rngZelle.Offset(0, 1 + i).Value = Trim(arrTeile(i))
Next i
Next rngZelle
wobei ich dir empfehlen würde, nach dem Einfügen der Trennzeichen den Text zunächst als ganzes in die Zelle zurückzuschreiben und dann am Schluss mit der ganzen Spalte ein TEXT IN SPALTEN auszuführen (das kannst du gut mit dem Recorder aufzeichnen)
das sollte erheblich schneller sein.
Gruß Daniel