ich hole mir zurzeit meine CSV-Datei so in VBA:
Range("A:A").TextToColumns , DataType:=1, Semicolon:=True, Comma:=False
Kann ich irgendwie erkennen/unterscheiden, welches Trennzeichen im Excel eingestellt ist?
Range("A:A").TextToColumns , DataType:=1, Semicolon:=True, Comma:=False
Kann ich irgendwie erkennen/unterscheiden, welches Trennzeichen im Excel eingestellt ist?
Sub aatest()
Range("A:A").TextToColumns , DataType:=1, Semicolon:=True, Comma:=False
'Einstellung zurücksetzen
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = "test"
Cells(Rows.Count, 1).End(xlUp).TextToColumns , DataType:=1, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, other:=False
Cells(Rows.Count, 1).End(xlUp).ClearContents
End Sub
Zum Laden von CSV-Dateien in Excel verwende ich meist folgende Routine, da unter VBA CSV-Dateien standardmäßig oft nach US-Standards geladen werden.
Dabei wird die CSV-Datei nach der Dateiauswahl in eine temporäre TXT-Datei kopiert. Das Öffnen der TXT-Datei kann man in EXCEL-VBA mit den Parametern gut steuern. Nach dem Import der Daten wird die TXT-datei wieder gelöscht.
Gruß
Franz
Sub CSV_Holen()
Dim varAuswahl, strDateiTXT As String, wbTXT As Workbook
varAuswahl = Application.GetOpenFilename(Filefilter:="CSV(*.csv),*csv")
If Not varAuswahl = False Then
strDateiTXT = Left(varAuswahl, Len(varAuswahl) - 3) & "txt"
VBA.FileCopy varAuswahl, strDateiTXT
Workbooks.OpenText Filename:=strDateiTXT, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, _
DecimalSeparator:=",", ThousandsSeparator:="."
Set wbTXT = ActiveWorkbook
'Tabellenblatt in leere Arbeitsmappe kopieren
wbTXT.Worksheets(1).Copy
'Textdatei schliessen und wieder löschen
wbTXT.Close savechanges:=False
VBA.Kill strDateiTXT
Set wbTXT = ActiveWorkbook
End If
End Sub
Um sicherzustellen, dass Du die richtigen Trennzeichen in Deiner Excel-Datei verwendest, gehe wie folgt vor:
Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du die CSV-Daten importieren möchtest.
Verwende den folgenden VBA-Code, um die CSV-Datei zu importieren. Dabei wird das Trennzeichen auf Semikolon gesetzt:
Sub CSV_Holen()
Dim varAuswahl, strDateiTXT As String, wbTXT As Workbook
varAuswahl = Application.GetOpenFilename(Filefilter:="CSV(*.csv),*csv")
If Not varAuswahl = False Then
strDateiTXT = Left(varAuswahl, Len(varAuswahl) - 3) & "txt"
VBA.FileCopy varAuswahl, strDateiTXT
Workbooks.OpenText Filename:=strDateiTXT, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, _
DecimalSeparator:=",", ThousandsSeparator:="."
Set wbTXT = ActiveWorkbook
'Tabellenblatt in leere Arbeitsmappe kopieren
wbTXT.Worksheets(1).Copy
'Textdatei schliessen und wieder löschen
wbTXT.Close savechanges:=False
VBA.Kill strDateiTXT
Set wbTXT = ActiveWorkbook
End If
End Sub
Achte darauf, dass Du die Parameter Semicolon:=True und Comma:=False einstellst, um sicherzustellen, dass das Semikolon als Trennzeichen verwendet wird.
Fehler: Falsches Trennzeichen verwendet
Lösung: Überprüfe die Einstellungen in Deinem Importbefehl und stelle sicher, dass die Parameter korrekt gesetzt sind. Nutze Semicolon:=True für Semikolon oder Comma:=True für Komma.
Fehler: Daten werden nicht korrekt importiert
Lösung: Stelle sicher, dass die CSV-Datei tatsächlich das gewählte Trennzeichen verwendet. Manchmal kann es vorkommen, dass eine CSV-Datei mit Kommas anstelle von Semikolons erstellt wurde.
Wenn Du CSV-Dateien ohne VBA importieren möchtest, kannst Du auch die Funktion "Daten aus Text/CSV" in Excel verwenden:
Diese Methode ist besonders nützlich, wenn Du eine einfache Importlösung ohne Programmierung benötigst.
Ein Beispiel, wie das Trennzeichen in einer Excel-Formel verwendet werden kann:
=TEXTJOIN(";", TRUE, A1:A10)
Hier wird das Semikolon als Trennzeichen in der Funktion TEXTJOIN verwendet, um die Werte aus dem Bereich A1:A10 zu verbinden. Wenn Du lieber ein Komma verwenden möchtest, ändere einfach das Trennzeichen in der Funktion.
1. Was ist der Unterschied zwischen Komma und Semikolon als Trennzeichen in einer CSV-Datei?
Der Hauptunterschied liegt in den regionalen Einstellungen. In vielen europäischen Ländern wird das Semikolon als Trennzeichen verwendet, während in den USA das Komma üblich ist.
2. Wie kann ich das Standard-Trennzeichen in Excel ändern?
Das Standard-Trennzeichen wird durch die regionalen Einstellungen Deines Betriebssystems festgelegt. Du kannst diese in der Systemsteuerung ändern, um zum Beispiel das Semikolon anstelle des Kommas zu verwenden.
3. Wie kann ich in Excel eine Formel erstellen, die das Semikolon als Trennzeichen verwendet?
Du kannst Funktionen wie TEXTJOIN oder CONCATENATE verwenden und das Semikolon direkt als Trennzeichen in der Formel angeben, z.B. =TEXTJOIN(";", TRUE, A1:A10).