Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Excel 2010: CSV-Export mit Anführungszeichen

Problem: Ich exportiere aus Excel 2010 eine Liste ins CSV-Format. Das Zielsystem, auf dem die Liste wieder importiert werden muss, kommt mit dem von Excel erstellten CSV-Format nicht zurecht. Es fehlen die Anführungs- und Schlusszeichen als Feldbegrenzungen (z.B. "Feld"). Gibt es einen Weg, die Daten auf diese Weise aus Excel in eine CSV-Datei zu kriegen?

Liste nach dem normalen CSV-Export

© Quelle: PCtipp.ch

Lösung: Mit dem gewöhnlichen Export-Assistenten bzw. «Speichern unter» in Excel geht das nicht. Sie bekommen es aber mit einem Makro hin.

So könnte Ihre Beispiel-Liste in Excel aussehen:

Was Excel beim CSV-Export normalerweise damit anstellt, ist dies - ohne die Anführungs- und Schlusszeichen, wie Sie richtig feststellen :

Liste nach dem normalen CSV-Export

© Quelle: PCtipp.ch

Bevor Sie loslegen, noch ein Tipp: Durchsuchen Sie Ihre Tabelle zuerst nach dem Anführungszeichen ("). Dieses wird später in der CSV-Datei als Feldtrenner eingesetzt. Wenn innerhalb einer Zelle schon jetzt ein solches Zeichen vorkäme (z.B. bei Zoll-Angaben wie «2,5"»), könnte das später beim Import zu Verwirrungen führen. Ersetzen Sie das Zeichen allenfalls durch Text oder eine Zeichenfolge, die Sie nach erfolgtem Export wieder zurück-ersetzen.

Das Makro: Drücken Sie Alt+F11 zum Öffnen des Visual-Basic-Editors oder gehen Sie im Reiter Entwicklertools zu Visual Basic. Falls die Entwicklertools nicht zu sehen sind, blenden Sie sie ein: In Excel 2010 gehts zu Datei/Optionen/Menüband anpassen, dann haken Sie rechts die «Entwicklertools» an. In Excel 2007: Office-Button oben links, Excel-Optionen, dann bei Häufig verwendet diese Option ankreuzen: «Entwicklerregisterkarte in der Multifunktionsleiste anzeigen».

Doppelklicken Sie im Visual-Basic-Editor auf Diese Arbeitsmappe und fügen Sie exakt folgenden Makrocode ein, den Sie auch von hier kopieren können:

Sub CSVFile()

Dim SrcRg As Range

Dim CurrRow As Range

Dim CurrCell As Range

Dim CurrTextStr As String

Dim ListSep As String

Dim FName As Variant

FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")

ListSep = Application.International(xlListSeparator)

If Selection.Cells.Count > 1 Then

Set SrcRg = Selection

Else

Set SrcRg = ActiveSheet.UsedRange

End If

Open FName For Output As #1

For Each CurrRow In SrcRg.Rows

CurrTextStr = ìî

For Each CurrCell In CurrRow.Cells

CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep

Next

While Right(CurrTextStr, 1) = ListSep

CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)

Wend

Print #1, CurrTextStr

Next

Close #1

End Sub

Sicherheitshalber hier noch einmal den Makrocode als Screenshot, falls unser Websystem im oben kopierbaren Makrocode Fehler einbaut:

Der Makrocode im Screenshot

© Quelle: PCtipp.ch

Gehen Sie zu Datei/Schliessen und zurück zu Excel. Drücken Sie Alt+F8 oder gehen Sie via Entwicklertools zu Makros. Jetzt noch auf das «CSVFile»-Makro und auf Ausführen klicken. Excel zeigt einen «Speichern unter»-Dialog an, in dem Sie einen Dateinamen (z.B. «MeineListe.csv») eingeben und einen Speicherort wählen. Die so erstellte CSV-Datei enthält als Feldbegrenzer jetzt die Anführungszeichen.

Die CSV-Liste mit Anführungs- und Schlusszeichen

© Quelle: PCtipp.ch

Wichtig: Wenn Sie Ihre ursprüngliche Excel-Datei schliessen, müssen Sie sich entscheiden, ob Sie das Makro in dieser Excel-Datei behalten wollen oder nicht. Falls es in der Datei bleiben soll, müssen Sie sie unter dem Dateityp .xlsm statt .xlsx speichern. (PCtipp-Forum)

Kommentare

Office Cloud Kummerkasten Monitore Internet & Sicherheit
Anzeige
Anzeige

Neueste Beiträge

Die besten PCtipp-Artikel aus der Kalenderwoche 29
In der Kalenderwoche 29 vom 13. bis zum 19. Juli 2026 standen die Artikel «Kleiner Excel-Spick von Microsoft» und «Finanzen im Griff» ganz oben in der Gunst unserer Leserschaft.
2 Minuten
24. Jul 2026
In eigener Sache
Kurze Newsletter-Sommerpause
Vom 27. Juli bis zum 9. August macht die PCtipp-Redaktion eine kurze Newsletter-Sommerpause. Sie bekommen in diesem Zeitraum keinen Newsletter. Den nächsten Newsletter erhalten Sie dann wieder am 10. August.
2 Minuten
26. Jul 2026
Zoom führt Echtzeit-Übersetzung für Meetings ein
Zoom hat ein neues KI-gestütztes Feature für Echtzeit-Übersetzungen in den Zoom Meetings gelauncht. Teilnehmer können damit in ihrer eigenen Sprache sprechen, während die anderen sie in ihrer Sprache hören.
3 Minuten
27. Jul 2026

Das könnte Sie auch interessieren

Sicherheits-Tipps
So geht Smartphone-Schutz für Android und iOS
Viele mobile Geräte mit Android oder iOS sind von Haus aus schon recht sicher eingestellt. Aber einige wichtige Funktionen fehlen dennoch. Hier sind die besten Sicherheits-Tipps für Ihr Android-Smartphone, Android-Tablet, iPhone oder iPad. 
9 Minuten
Outlook-Tipps
Das neue Outlook
Microsoft hat seine beliebte E-Mail- und Organisations-Software Outlook komplett überarbeitet. Wir zeigen Ihnen Schritt für Schritt, wie Sie die neue Version einrichten, bedienen und optimal auf Ihre Bedürfnisse anpassen.
9 Minuten
10. Apr 2024
Cheat-Sheet
Kleiner Excel-Spick von Microsoft – übersetzt von PCtipp
Microsoft hat auf einer Seite 50 nützliche Excel-Tastenkürzel bereitgestellt. Wir haben sie übersetzt und ans Schweizer Tastaturlayout angepasst.
2 Minuten
15. Jul 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Kommentare