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

Lederarmbänder werden zu Stromspeichern
Forscher der Jilin-Universität machen aus ledernen Jacken, Trachtenhosen und Uhrarmbändern Batterien. Dabei bleibt ihre ursprüngliche Funktion erhalten.
3 Minuten
Urteil gegen Nortonlifelock wegen Antiviren-Abo
Das Landgericht Berlin hat einer Klage des Verbraucherzentrale Bundesverbands gegen den IT-Security-Anbieter Nortonlifelock Ireland Limited wegen der Vermarktung seines Produkts «NortonTM 360 Deluxe» stattgegeben.
3 Minuten
Mobility startet E-Auto-Trainings für Nutzende
Die Mobility Genossenschaft organisiert in grossen Schweizer Städten E-Auto-Trainings für Kunden. Unter dem Motto «Aus der Community für die Community» agieren Mobility-Mitglieder als Coaches, begleiten Interessierte bei den ersten Fahrten und helfen, Unsicherheiten abzubauen.
3 Minuten

Das könnte Sie auch interessieren

Windows-Pflege
CCleaner: ja oder nein?
Die Wartungs-Software CCleaner hält sich seit Jahren und ist bei vielen Anwendern beliebt. Doch braucht es dieses Tool heute noch? Und wenn ja, welche Version empfiehlt sich – die Free-Variante oder die kostenpflichtige Pro-Fassung?
6 Minuten
25. Mär 2026
Fünf tolle Tricks für Firefox
Fünf clevere Tricks für deutlich mehr Spass mit Firefox.
1 Minute
30. Mär 2026
Drucker
3D-Druck ganz einfach
Selbst ohne jegliche Ahnung von Konstruktion bietet ein 3D-Drucker eine unermessliche Fülle an Möglichkeiten, stets verbunden mit Spass und einer tiefen Befriedigung. Es ist für alle etwas dabei – und der Einstieg ist so einfach wie noch nie.
10 Minuten
26. Mär 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Kommentare