Leider war der Umgang mit CSV in Excel immer sehr schlecht.
Die allgemein akzeptierte Lösung besteht darin, die CSV-Datei selbst mit VBA-Code zu erstellen. Auf diese Weise können Sie die Dinge genau so formatieren, wie Sie möchten, und Sie können die ziemlich dumme Sache, die Excel tut, stoppen, nämlich die Anführungszeichen um Felder optional zu machen und manchmal falsch zu stellen. Es gibt eine Reihe vernünftiger Beispiele für die Erstellung von CSV-Dateien im Internet und mehrere Add-Ins, die entsprechende Tools bereitstellen.
Hier ist ein einfacher Code für den Einstieg:
' Output a more consistant CSV file Public Sub OutputQuotedCSV() Const QSTR As String = """" Dim myRecord As Range Dim myField As Range Dim vFilename As Variant Dim nFileNum As Long Dim sOut As String 'Get a filename to save as vFilename = Application.GetSaveAsFilename(filefilter:="Microsoft CSV files,*.csv", _ title:="Save as CSV with fields in double quotes") If vFilename = False Then Exit Sub 'User chose Cancel nFileNum = FreeFile Open vFilename For Output As #nFileNum For Each myRecord In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row) With myRecord For Each myField In Range(.Cells(1), Cells(.Row, 256).End(xlToLeft)) sOut = sOut & "," & QSTR & _ Replace(myField.Text, QSTR, QSTR & QSTR) & QSTR Next myField Print #nFileNum, Mid(sOut, 2) sOut = Empty End With Next myRecord Close #nFileNum End Sub
Sie müssen einen Test für Datumsangaben hinzufügen und das Format entsprechend formatieren.