Dezimalzeichen beim Einlesen von CSV ändern
Schritt-für-Schritt-Anleitung
Um eine CSV-Datei mit einem Punkt als Dezimaltrennzeichen in Excel zu importieren, kannst du folgende Schritte befolgen:
- Öffne Excel und gehe zu den Optionen.
- Wähle den Reiter Erweitert und suche die Option Trennzeichen vom Betriebssystem übernehmen. Entferne den Haken.
- Setze den Punkt als Dezimaltrennzeichen und das Komma als Tausendertrennzeichen.
- Öffne die CSV-Datei, die du importieren möchtest.
- Setze den Haken bei Trennzeichen vom Betriebssystem übernehmen wieder rein.
Falls du den Import mit VBA automatisieren möchtest, kannst du den folgenden Code verwenden:
Sub CSV_Einfügen()
Dim Datei As String
ChDrive Left(ThisWorkbook.FullName, 1)
ChDir ThisWorkbook.Path
Datei = Application.GetOpenFilename("CSV, *.csv")
If Not LCase(Datei) Like "*.csv" Then Exit Sub
With Workbooks.Open(Datei, ReadOnly:=True, local:=True)
.Sheets(1).UsedRange.Copy _
ThisWorkbook.Sheets.Add(after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)).Cells(1, 1)
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = .Sheets(1).Name
.Close False
End With
End Sub
Häufige Fehler und Lösungen
-
Problem: Die Zahlen werden falsch formatiert (z.B. als Text).
- Lösung: Stelle sicher, dass du die Excel-Optionen korrekt eingestellt hast und das richtige Dezimaltrennzeichen verwendest.
-
Problem: Die Datei öffnet sich nicht richtig.
- Lösung: Überprüfe den Dateipfad und stelle sicher, dass die Datei im richtigen Format gespeichert ist (z.B.
.csv
).
-
Problem: Die deutschen Dezimaltrennzeichen werden nicht korrekt angezeigt.
- Lösung: Ändere die Systemeinstellungen in Excel, um das Dezimaltrennzeichen zu ändern. Du kannst auch den VBA-Code anpassen, um das Trennzeichen direkt beim Einlesen zu setzen.
Alternative Methoden
-
Power Query verwenden: Du kannst die CSV-Datei auch über Power Query importieren. Gehe dazu zu Daten → Neue Abfrage → Aus Datei → Aus CSV. Hier kannst du das Dezimaltrennzeichen direkt in den Abfrageoptionen anpassen.
-
OpenText-Methode in VBA: Anstatt die Datei direkt zu öffnen, kannst du die Workbooks.OpenText
-Methode verwenden, um spezifische Importoptionen wie das Dezimaltrennzeichen festzulegen:
Workbooks.OpenText Filename:=Datei, DataType:=xlDelimited, DecimalSeparator:=".", ThousandsSeparator:=","
Praktische Beispiele
Hier sind einige nützliche Beispiele für den Import von CSV-Dateien:
- CSV mit Punkt statt Komma: Wenn deine Datei Punkte als Dezimaltrennzeichen verwendet, kannst du den folgenden VBA-Code verwenden:
Sub csv2Sheet()
Dim iRow As Long
Dim i As Integer
Dim sPatAndFile As String
Dim sZeile As String
Dim sTrenner As String
Dim arrTemp() As String
sPatAndFile = "C:\testbed\meineCSV.csv"
sTrenner = "."
Open sPatAndFile For Input As #1
iRow = 0
Do While Not EOF(1)
iRow = iRow + 1
Line Input #1, sZeile
arrTemp = Split(sZeile, sTrenner)
For i = 0 To UBound(arrTemp)
Cells(iRow, 1).Offset(0, i).Value = arrTemp(i)
Next i
Loop
Close
MsgBox "Fertig", vbInformation
End Sub
- CSV mit Kommas: Wenn deine Datei bereits Kommas als Trennzeichen verwendet, musst du nur den
sTrenner
entsprechend anpassen.
Tipps für Profis
- Achte darauf, dass bei der Verwendung von VBA alle Einstellungen nach dem Import wieder auf die ursprünglichen Werte zurückgesetzt werden, um unerwartete Änderungen in anderen Dateien zu vermeiden.
- Nutze die
Application.UseSystemSeparators
-Eigenschaft, um das Dezimaltrennzeichen temporär zu ändern, ohne die globalen Einstellungen zu beeinflussen.
- Experimentiere mit Power Query, es bietet viele flexible Möglichkeiten, um CSV-Daten zu transformieren und zu importieren.
FAQ: Häufige Fragen
1. Kann ich das Dezimaltrennzeichen nur für eine Datei ändern?
Ja, du kannst die Einstellungen in Excel temporär ändern oder die OpenText-Methode in VBA verwenden, um spezifische Einstellungen nur für den Import der aktuellen Datei anzuwenden.
2. Was tun, wenn die CSV-Datei nicht im richtigen Format geöffnet wird?
Überprüfe die Dateieinstellungen und stelle sicher, dass die Trennzeichen korrekt gesetzt sind. Du kannst auch versuchen, die Datei in einem Texteditor zu öffnen, um die Formatierung zu überprüfen.