Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Semikolon anstelle Komma CSV

Semikolon anstelle Komma CSV
21.04.2015 08:50:13
Larissa
Hallo liebe Community,
ich habe folgendes kleines Problem:
Ich exportiere eine CSV Datei im *txt Format und anschließend sind die Spalten mit einem Komma getrennt. Ich benötige aber ein Semikolon. Außerdem möchte ich, dass in der obersten Spalte neben der letzten gefüllten Spalte eine "leere" steht, damit weitere Semikolon hinzugefügt werden.
So sieht es bisher aus:
Dies, Ist, ein,
Test, 1,
Test, 2,
....
Das ist das Ziel:
Dies; Ist; ein;;;
Test;1;
Test;2;
Hier ist meine Code-Stelle:
ActiveWorkbook.SaveAs Filename:="Z:\foo\foo\foo.txt", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=True

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:07:13
Wolfgang
Moin Moin,
1.) ergänze den Speicherbefehl um "Local:=True", dann wird "in Deutsch" gespeichert - normal speichert VBA "in Englisch", so dass der Delimiter ein "," ist.
2.) Wenn Du in Zeile 1 in die leeren Spalten ein Hochkomma "'" einträgst, ist die Spalte im Blatt nicht leer, im Export aber schon. Bei mir kommt dann das raus:
Dies;ist;ein;;;
Test;1;;;;
Test;1;;;;

(Das ist aus der Urzeit der Tabellenkalkulationen, als man mit vorangestelltem ' / " / ^ die Zellausrichtung links / rechts / zentriert festlegen konnte.)
Hoffe, das hilft!
Gruß, Wolfgang

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:15:08
Larissa
Erstmal vielen Dank für deine Antwort.
Mit "true" habe ich bereits getestet, sobald ich die csv-Datei als txt abspeichere verschwinden die Semikolon und werden durch Kommas ersetzt. Mit dem " ' " ist eine super Idee, aber leider werden dann in allen weiteren Zeilen (ab 2) die Semikolon eingefügt.
Test;1;;;;
Test;1;;;;
So Soll es aber aussehen..
Dies; Ist; ein;;;
Test;1;
Test;2;

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:31:53
Daniel
Hi
Wenn du Semikolons als Trennzeichen willst, musst du als CSV mit Local:=True speichern.
Txt ist dann wieder ein anderes Format mit anderen Trennzeichen.
Auch dein zweiter Wunsch ist nicht so leicht erfüllbar, weil Excel immer die UsedRange, also den genutzten Zellbereich, speichert und dieser ist immer rechteckig mit gleich viel Zellen in jeder Zeile, daher hat auch im CSV jede Zeile die gleiche Anzahl Semikolons.
Der Weg zur Erfüllung deiner Wünsche ist folgender:
Fasse auf einem zweiten Tabellenblatt die Texte einer Zeile in Spalte A zusammen (mit Verketten oder &) und speichere dann dieses Blatt als CSV oder Txt.
Hierbei bestimmst du das Trennzeichen und seine Anzahl, denn für Excel steht der Ganze Text in einer Spalte und es fügt keine eigenen Trennzeichen ein.
Gruß Daniel

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 09:51:13
Larissa
Das mit der Verkettung verstehe ich nicht genau..
Ich habe in einer neuen Mappe in A1 folgende Formel geschrieben =Import!A1&Import!B1&Import!C&1
Dann steht da nun "DiesIstein".. Mir fehlen aber die Semikolon und die kann ich bei der Verkettung mit & nicht einfügen..

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 10:00:47
Daniel
Das Trennzeichen fügst du genauso ein wie die Texte:
=Import!A1&";"&Import!B1&";"& ...
Gruß Daniel

AW: Semikolon anstelle Komma CSV
21.04.2015 10:25:46
Larissa
Vielen Dank! Ein erster (kleiner) Schritt ist getan. Es sieht jetzt aber folgendermaßen aus:
"Dies;ist;ein;;;"
Test         1
Test         2
Es fehlen jetzt die Semikolon bei den Einträgen und die Leerzeichen irritieren.. Und die Anführungszeichen müssen natürlich weg.

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 10:52:51
Daniel
1. Was sieht so aus?
2. wie sehen deine Formeln aus?
3. wie speicherst du?
Gruß Daniel

AW: Semikolon anstelle Komma CSV
21.04.2015 10:55:33
Larissa
1. Meine txt-Datei
2. Meine Formel sieht folgendermaßen aus:
=Tabelle1!A1&";"&Tabelle1!B1&";"&Tabelle1!C1&";"&";"&";"
3. Ich speicher die csv-Datei anschließend mit "Speicher unter".. (Text MSDOS).

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 12:06:45
Daniel
Hi
speichere mal als .prn Formatierter Text (Leerzeichen getrennt)
das erzeugt bei mir ein einfaches Textfile ohne die Anführungszeichen um den Text
den Dateinamen kannst du ja nacher immer noch auf CSV oder TXT oder sonstwas ändern.
Gruß Daneil

AW: Semikolon anstelle Komma CSV
21.04.2015 12:17:06
Larissa
Okay super damit gehen die Anführungszeichen weg. Problem ist, dass er die Leerzeichen zwischen den Einträgen noch hat und die Semikolon Trennung ab Zeile 2 fehlt. Mist, ich komme einfach nicht auf die Lösung. :(

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 12:21:27
Daniel
ich kenne jetzt nicht deine Formeln für die Zeile 2 und die folgenden Zeilen.
leerzeichen zwischen den Einträgen sollten nur vorkommen, wenn du mehrer Spalten hast, dann werden im PRN-Format die Texte in den Spalten mit Leerzeichen aufgefüllt, so dass jede Spalte die selbe anzahl von Zeichen hat, so das gleiche Spalten im Text auch untereinander stehen.
Da du aber, wenn du meinen Anweisungen gefolgt bist, nur eine Spalte hast, sollte das nicht vorkommen.
Gruß Daniel

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 12:30:42
Larissa
In Spalte A1 steht jetzt die ersten drei Spalten (A1, B1 und C1). Ab Zeile 2 (!) stehen Einträge in A2:A111 und in B2:B111.

siehe meine Lsg. owT
21.04.2015 12:33:44
Rudi

AW: Semikolon anstelle Komma CSV
21.04.2015 12:45:09
Daniel
dann hast du nicht verstanden, was ich dir erkärt habe.
es müssen alle Texte in Spalte A stehen!
Wenn du mehrer Spalten hast, greifen wieder die Excelautomatismen für die Vergabe der Spaltentrenner.
deswegen müssen alle Texte in Spalte A stehen! damit du die Spaltentrenner nach deinen eigenen Regeln vergeben kannst
daher muss ab Zeile 2 bis Zeile 111 dann die die Formel in Spalte A: =Tabelle1!A2&";"&Tabelle1!B2
wie schon erwähnt: du musst pro Zeile alle Texte in der Spalte A zusammenfassen und alle folgenden Spalten ab Spalte B müssen leer sein.
Wenn das für dich zu schwer zu verstehen ist, solltest du dir mal das Makro von Rudi anschauen, vielleicht kommst du damit besser klar.
Gruß Daniel

Anzeige
AW: Semikolon anstelle Komma CSV
21.04.2015 11:03:51
Rudi
Hallo,
Sub aaaa()
Dim strOut As String, i As Long, arrTmp
i = 1
arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 3))
arrTmp = WorksheetFunction.Transpose(arrTmp)
arrTmp = WorksheetFunction.Transpose(arrTmp)
strOut = Join(arrTmp, ";")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 1))
arrTmp = WorksheetFunction.Transpose(arrTmp)
arrTmp = WorksheetFunction.Transpose(arrTmp)
strOut = strOut & vbCrLf & Join(arrTmp, ";")
Next
Open "c:\temp\output.txt" For Output As #1
Print #1, strOut
Close #1
End Sub
Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Semikolon anstelle Komma in CSV-Dateien


Schritt-für-Schritt-Anleitung

Um eine CSV-Datei mit Semikolons anstelle von Kommas zu speichern, folge diesen Schritten:

  1. Öffne deine Excel-Datei und stelle sicher, dass die Daten in den gewünschten Spalten stehen.
  2. Verwende den folgenden VBA-Code, um die Datei zu speichern. Achte darauf, Local:=True hinzuzufügen, damit die Datei im deutschen Format mit Semikolon gespeichert wird:
    ActiveWorkbook.SaveAs Filename:="Z:\foo\foo\foo.txt", _
    FileFormat:=xlCSVMSDOS, Local:=True, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=True
  3. Füge in der ersten Zeile deiner Excel-Tabelle ein Hochkomma (') in die leeren Zellen ein, um sie im Export leer zu lassen.
  4. Speichere die Datei und überprüfe das Ergebnis.

Häufige Fehler und Lösungen

  • Problem: Die Spalten sind im Export mit Kommas getrennt.

    • Lösung: Stelle sicher, dass du Local:=True im VBA-Befehl verwendest.
  • Problem: Leerzeichen zwischen den Einträgen erscheinen im Export.

    • Lösung: Achte darauf, dass du nur eine Spalte für den Export nutzt. Alle Texte sollten in Spalte A zusammengefasst werden.
  • Problem: Anführungszeichen erscheinen um den Text.

    • Lösung: Speichere die Datei im .prn Format (formatierter Text, leerzeichen-getrennt), um Anführungszeichen zu vermeiden.

Alternative Methoden

  1. Verwende die Funktion „Text in Spalten“: Wenn du eine CSV-Datei mit Kommas hast, kannst du diese in Excel öffnen und die Funktion „Text in Spalten“ nutzen, um die Daten mit Semikolon zu trennen.

  2. Excel als CSV mit Semikolon speichern: Nutze die Option „Speichern unter“ und wähle das Format „CSV (MSDOS)“, um sicherzustellen, dass das Trennzeichen ein Semikolon ist.

  3. Makros verwenden: Erstelle ein Makro, das die Daten in der gewünschten Form zusammenfasst und als CSV mit Semikolon speichert.


Praktische Beispiele

Hier ist ein einfaches Beispiel für den VBA-Code, den du verwenden kannst:

Sub ExportAsCSV()
    Dim strOut As String, i As Long, arrTmp
    i = 1
    arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 3))
    arrTmp = WorksheetFunction.Transpose(arrTmp)
    strOut = Join(arrTmp, ";")
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 1))
        arrTmp = WorksheetFunction.Transpose(arrTmp)
        strOut = strOut & vbCrLf & Join(arrTmp, ";")
    Next
    Open "c:\temp\output.txt" For Output As #1
    Print #1, strOut
    Close #1
End Sub

Tipps für Profis

  • Trennzeichen festlegen: Wenn du eine csv datei mit semikolon getrennt speichern möchtest, solltest du immer Local:=True verwenden, um sicherzustellen, dass Excel das korrekte Trennzeichen nutzt.
  • Verwenden von Formeln: Nutze die Verkettungsformel, um Daten in einer Zelle zusammenzufassen, z.B.:
    =A1 & ";" & B1 & ";" & C1
  • Export mit VBA: Automatisiere den Exportprozess durch VBA, um Zeit zu sparen und Fehler zu reduzieren.

FAQ: Häufige Fragen

1. Wie kann ich eine CSV-Datei mit Semikolon statt Komma speichern?
Du musst den SaveAs Befehl in VBA mit Local:=True verwenden.

2. Was tun, wenn die Datei immer noch mit Kommas gespeichert wird?
Überprüfe, ob du das richtige Dateiformat (CSV MSDOS) gewählt hast und dass Local:=True im Befehl enthalten ist.

3. Wie kann ich sicherstellen, dass die CSV-Datei korrekt formatiert ist?
Verwende die Funktion „Text in Spalten“ in Excel, um sicherzustellen, dass die Daten korrekt in Spalten aufgeteilt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige