Hallo ins Forum,
ich habe ein Problem beim Umwandeln einer csv-Datei mithilfe von VBA.
Ich möchte ganz einfach den Text auf die Spalten aufteilen. Die Daten sind mit dem Trennzeichen "," getrennt. Darüber hinaus sind zusammengehörende Daten in Kommata eingeschlossen. Also als Beispiel:
|"Hallo","*","Test 1,1","Ende Ende"|
soll in wie folgt geteilt werden:
|Hallo|*|Test 1,1|Ende Ende|
Bisher nutze ich folgenden Code:
Sub Test()
Dim spaltentext
Dim ispalte, n, spalte As Integer 'Zähler für Spalten, n ist Zähler für Zeilen, startspalte
For n = 1 To 100 'Für jede Zelle mit Werten
spaltentext = Split(ThisWorkbook.Sheets(1).Cells(n, 1), ",")
spalte = 1
For ispalte = 0 To UBound(spaltentext)
ThisWorkbook.Sheets(2).Cells(n + 2, spalte).Value = spaltentext(ispalte)
spalte = spalte + 1
Next ispalte
Next n
End Sub
Dieser trennt auch wie gewünscht nach dem Trennzeichen "," (Komma). Folglich sieht das Ergebnis so aus
|"Hallo"|"*"|"Test 1|,1"|"Ende Ende"|
Es wird also bei "Test 1,1" in "Test 1 und ,1" getrennt, obwohl das zusammengehören soll.
Hat jemand einen Vorschlag, wie ich mitgeben kann, dass zudem nur trennen soll, wenn das Kommata zwischen Anführungszeichen steht?
Ich hatte an:
spaltentext = Split(ThisWorkbook.Sheets(1).Cells(n, 1), "","")
gedacht. Da kommt leider der Fehler "Typen unverträglich".
Ich freue mich über Tips.
Terese
|