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

Bei Galaxus und Digitec können nur noch Käufer Produkte bewerten
So verhindert der Onlinehändler, dass Marken und Hersteller Ratings beeinflussen. Im Zuge des Systemwechsels verschwinden 380'000 alte Reviews.
3 Minuten
Publireportage
Dreame X60 Pro Serie: Eine Reinigungslösung für den gesamten Wohnraum
Dreame Technology, ein führender Anbieter für innovative Smart-Home-Reinigungstechnologie, präsentiert die neue X60 Pro Serie, die auf unterschiedliche Anforderungen im Zuhause ausgerichtet sind. Die X60 Pro Serie markiert die bislang leistungsstärkste und intelligenteste Saugroboter-Produktreihe von Dreame und wird durch den Cyber X ergänzt.
5 Minuten
Viele Mobilfunk-Anbieter senken Roaming-Preise
Die Sommerferien stehen vor der Tür. Daher hat der Online-Vergleichsdienst moneyland.ch die Kosten für die Nutzung des Smartphones im Ausland analysiert.
6 Minuten

Das könnte Sie auch interessieren

Internet-Tipps
Geniale Browser-Add-ons
Browser können schon viel, aber mit den richtigen Add-ons läuft alles noch geschmeidiger. Der PCtipp stellt zehn Erweiterungen vor, mit denen Sie Werbung und Tracker entfernen, Ihre Privatsphäre im Internet schützen und neue Funktionen hinzufügen. 
4 Minuten
11. Mai 2026
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
Tipps & Tricks
Schweizer Handy-Nummer: So finden Sie sie heraus
Wenn man einen Kollegen oder einen Firmenkontakt sucht und nicht an seine Handy-Nummer herankommt, hilft manchmal ein einfacher Google-Suchtrick.
3 Minuten
29. Jan 2019
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Kommentare