Microsoft Excel lässt sich bekanntermaßen nur schwer zum Export einer CSV-Datei in UTF-8 Kodierung überreden. Wer es schonmal versucht hat, kennt die zahlreichen Probleme. Mit dem nachstehenden, auf das Wichtigste reduzierte VBA-Code arbeite ich schon seit etlichen Jahren, weil ich auf Excel nicht verzichten will. Ein Beispiel-Workbook habe ich hier bereitgestellt. Anleitung: Archiv excel_to_csv.zip entpacken und excel_to_csv.xlsm öffnen Es öffnet sich eine vorgefertigte Tabelle mit allen mir bekannten importierbaren Spalten Die Schaltfläche für den CSV-Export kann mit Rechtsklick beliebig verschoben werden Der komplette Inhalt wird bei Klick ohne Rückfrage unter C:\art_exp.csv (default) gespeichert Im Menu unter Entwicklertools >>> Visual Basic kommt ihr zum Makro um dort erklärte Anpassungen vorzunehmen Das Macro sollte schon ab spätestens Version 11 (2003) bis 365 laufen (32 und 64 Bit) Hier der Code für Excel-Kenner, einfügen in Standardmodul: Code: Sub Create_CSV() 'Variablendeklaration (nicht ändern) Dim Exportdatei As String Dim Trennzeichen As String Dim Zellbereich As Range Dim Zeile As Object Dim Zelle As Object Dim TempZeile As String Dim Tabelle As String '### Eigene Anpassungen ######### Tabelle = "Export_to_CSV" 'Name der zu exportierenden Tabelle angeben, hier ist es "Export_to_CSV" Trennzeichen = "|" 'Trennzeichen angeben, hier "|" weil dieses normalerweise in keiner Beschreibung vorkommt. 'Es muss immer ein Zeichen gewählt werden, dass niemals in eurer Export-Datei vorkommt. 'Außerdem muss in der Import-Modul des Shops das selbe Zeichen ausgewählt werden! Exportdatei = "C:\art_exp.csv" 'Speicherort und Name der Export-CSV, hier "C:\ArtExp.csv" 'Mit einem WebDAV oder FTP-Clienten wie z.B. Webdrive lässt sich ein dauerhaft verbundenes Netzlaufwerk zum Shopverzeichnis erstellen. 'Der Pfad könnte dann z.B. so aussehen: "W:\httpdocs\domain\gambio_shop\export\art_exp.csv" '### Ab hier nichts mehr ändern ######### Application.ThisWorkbook.Sheets(Tabelle).Activate Cells.Select Set Zellbereich = Sheets(Tabelle).UsedRange Open Exportdatei For Output As #1 For Each Zeile In Zellbereich.Rows For Each Zelle In Zeile.Cells TempZeile = TempZeile & Zelle & Trennzeichen Next Zelle Print #1, GetUTF8String(Left(TempZeile, Len(TempZeile) - 1)) TempZeile = "" Next Zeile Close #1 Application.ThisWorkbook.Sheets(Tabelle).Cells(1, 1).Select End Sub Private Function GetUTF8String(s As String) As String Dim i As Integer Dim utf16 As Long, uc(2) As Byte GetUTF8String = "" For i = 1 To Len(s) utf16 = AscW(Mid(s, i, 1)) If utf16 < 0 Then utf16 = utf16 + 65536 If utf16 < &H80 Then GetUTF8String = GetUTF8String & Chr(utf16) ElseIf utf16 < &H800 Then uc(1) = &H80 + (utf16 And &H3F) utf16 = utf16 \ &H40 uc(0) = &HC0 + (utf16 And &H1F) GetUTF8String = GetUTF8String & Chr(uc(0)) & Chr(uc(1)) Else uc(2) = &H80 + (utf16 And &H3F) utf16 = utf16 \ &H40 uc(1) = &H80 + (utf16 And &H3F) utf16 = utf16 \ &H40 uc(0) = &HE0 + (utf16 And &HF) GetUTF8String = GetUTF8String & Chr(uc(0)) & Chr(uc(1)) & Chr(uc(2)) End If Next End Function Wer nicht weiß, was VBA oder Makros sind, sollte einfach erstmal die Beispielmappe für Microsoft Excel 14 (Excel 2010) und neuer ausprobieren.