Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel CSV einlesen Tab getrennt wie ?

Excel CSV einlesen Tab getrennt wie ?
20.07.2004 17:38:49
Steffen
Hallo
ich versuche schon seit Stunden meine CSV Datei zu öffnen. Alle Zeichen sind Tabulator getrennt. Bei jedem Versuch die CSV im Excel zu öffnen schreibt mir Excel alles hintereinander :-( ich bekomme die Datei mit der Tabulatortrennung nicht eingelesen was kann ich tun ?
Danke und Gruß
Steffen
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
Ramses
Hallo
Öffne die Datei und wähle den Befehl "Daten - Text in Spalten" und dem Assistenten folgen :-)
Gruss Rainer
AW: Excel CSV einlesen Tab getrennt wie ?
20.07.2004 17:49:41
Steffen
ok das hat geklappt :-) Danke
nun hab ich ein neues Problem jetzt formatiert mir Excel automatisch meine durch einen Punkt getrennten Preise in ein Datum um ? So steht das dann in der Zeile:07.07.2004 18:06:44.
Eigentlich sollte da einfach nur 0.74 oder irgend ein andere Preis stehen.
Versteht das jemand was das soll ?
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
Ramses
Hallo
Das ist die automatische Formatierung.
Im deutschen EXCEL werden zahlen mit Punkt als Dezimaltrennzeichen als Datum interpretiert und nicht als Dezimalstelle.
Hier kommt nur Handarbeit zu tragen, bzw. "Bearbeiten - Suchen und Ersetzen"
markiere die gesamte Tabelle
Format - zellen - Zahlen - Standard
Dann Bearbeiten - Suchen und Ersetzen. Suche nach "." und ersetze durch ",".
Dann sollte es das gewesen sein.
Wenn du das häufiger hast, würde ich mal schauen, ob das Export-format der CSV-Datei nicht so definiert werden kann.
Gruss Rainer
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
20.07.2004 18:06:42
Steffen
na mit suchen und ersetzen ist es nicht getan excel macht mir aus "1.28" ein Datum "01.01.2028" wenn ich dann wieder auf Formatieren drücke macht er nur mist und gibt mir meine 1.28 nicht mehr aus.
Die CSV Datei ist mein Export aus meiner MYSQL Tabelle und da muß alles Punkt getrennt sein sonnst geht das nicht mehr in SQL rein.
Kann man die Automatische Funktion nirgends abschalten im Excel ?
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
Ramses
Hallo
Ohne Garantie, aber probier mal das Makro aus.

Sub Read_Extern_File_and_Replace_Signs()
'(C) Ramses
Dim i As Long, n As Integer
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim txtlines As Long
'Für Office97 muss das Array TextArr als String definiert werden
'Entdeckt duch Gerd Z aus dem Herber Forum
Dim textArr As Variant
Dim ReadFile As String, tempStr As String
'Name der Datei in der die Semikola ersetzt werden sollen
ReadFile = "C:\Demo.csv"
Close #1
'1. Öffnen der Datei
'Den Namen und Pfad bitte anpassen
Open ReadFile For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
txtlines = 0
Do While Not EOF(1)    ' Schleife bis Dateiende.
Input #1, Text1    ' Hilfsvariable zum einlesen verwenden
'Zähler hochzählen
txtlines = txtlines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1
'Erneutes Öffnen um zum Dateianfang zu kommen
Open ReadFile For Input As #1    ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim textArr(txtlines)
'Einlesen der Dateien in das Array
For i = 1 To txtlines
'Zeile einlesen
Line Input #1, textArr(i)
'temporär übergeben
tempStr = textArr(i)
'Schleife um zu ersetzende Zeichen im String zu suchen
For n = 1 To Len(tempStr)
'zuerst wird das Komma gegen ein Semikolon ersetzt
If Mid(tempStr, n, 1) = "," Then
tempStr = Application.WorksheetFunction.Replace(tempStr, n, 1, ";")
End If
'... danach der Punkt gegen ein Komma
If Mid(tempStr, n, 1) = "." Then
tempStr = Application.WorksheetFunction.Replace(tempStr, n, 1, ",")
End If
Next n
'Der korrigierte String wird wieder in das array zurückgeschrieben
textArr(i) = tempStr
Next i
'File schliessen
Close #1
'File zum schreiben wieder öffnen
Open ReadFile For Output As #1
For i = 1 To txtlines
'Array an die jeweilige Zeile zurückschreiben
Print #1, textArr(i)
Next i
'Schliessen
Close #1
'Alle Zeichen ersetzt :-))
End Sub

Den Namen der Datei musst du halt mit Pfad anpassen.
Mal schauen ob EXCEL dann richtig importiert.
Gruss Rainer
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
20.07.2004 20:16:40
Steffen
wie muß denn das File angepasst werden ? Ich bekomme die Meldung "Überlauf" :-(. Ich habe etwas über 100 Spalten und 1500 Zeilen das ist bestimmt zuviel für das Script oder ?
DAnke und Gruß
Steffen
AW: Excel CSV einlesen Tab getrennt wie ?
Ramses
Hallo
Welche Zeile wird markiert, wenn du auf "Debuggen" gehst ?
Gruss Rainer
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
21.07.2004 17:53:16
Steffen
wenn ich auf debugen gehe markiert er gar nix. In dem Fehlerfenster steht "Laufzeitfehler 6" und darunter "Überlauf". Ich versuche mal nur eine Spalte zu importieren vieleicht geht es dann. Erst einmal noch vielen Dank für deine Mühe :-)
AW: Excel CSV einlesen Tab getrennt wie ?
Ramses
Hallo
ich weiss nicht wieviele Kommas bei dir in einer Zeile vorkommen,
unter Umständen liegt das an der Anweisung "Input".
Excel berechnet jedes Komma als eigenen Datensatz, wahrscheinlich reicht die
Dimensionierung der Variable nicht aus.
Ich hab das hier mal geändert.
Probier mal
Option Explicit

Sub Read_Extern_File_and_Replace_Signs()
'(C) Ramses
Dim i As Long, n As Integer
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim txtlines As Long
'Für Office97 muss das Array TextArr als String definiert werden
'Entdeckt duch Gerd Z aus dem Herber Forum
Dim textArr As Variant
Dim ReadFile As String, tempStr As String
'Name der Datei in der die Zeichen
'Punkt und Komma ersetzt werden sollen
ReadFile = "C:\Demo.csv"
Close #1
'1. Öffnen der Datei
'Den Namen und Pfad bitte anpassen
Open ReadFile For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
txtlines = 0
Do While Not EOF(1)    ' Schleife bis Dateiende.
Line Input #1, Text1    ' Hilfsvariable zum einlesen verwenden
'Zähler hochzählen
txtlines = txtlines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1
'Erneutes Öffnen um zum Dateianfang zu kommen
Open ReadFile For Input As #1    ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim textArr(txtlines)
'Einlesen der Dateien in das Array
For i = 1 To txtlines
'Zeile einlesen
Line Input #1, textArr(i)
'temporär übergeben
tempStr = textArr(i)
'Schleife um zu ersetzende Zeichen im String zu suchen
For n = 1 To Len(tempStr)
'zuerst wird das Komma gegen ein Semikolon ersetzt
If Mid(tempStr, n, 1) = "," Then
tempStr = Application.WorksheetFunction.Replace(tempStr, n, 1, ";")
End If
'... danach der Punkt gegen ein Komma
If Mid(tempStr, n, 1) = "." Then
tempStr = Application.WorksheetFunction.Replace(tempStr, n, 1, ",")
End If
Next n
'Der korrigierte String wird wieder in das array zurückgeschrieben
textArr(i) = tempStr
Next i
'File schliessen
Close #1
'File zum schreiben wieder öffnen
Open ReadFile For Output As #1
For i = 1 To txtlines
'Array an die jeweilige Zeile zurückschreiben
Print #1, textArr(i)
Next i
'Schliessen
Close #1
'Alle Zeichen ersetzt :-))
End Sub

Gruss Rainer
Anzeige
AW: Excel CSV einlesen Tab getrennt wie ?
22.07.2004 22:43:13
Steffen
hab das gleiche Problem noch immer index fehler 6 und wenn ich meine Tabelle nur noch auf eine Spalte begrenze mit ca. 2000 Zeilen dann passiert gar nichts.
Ich gebe es nun auf ich versteh einfach nicht warum man dem Excel nicht sagen kann das es die automatische Formatierung einfach nicht machen soll.
Danke und Gruß
Steffen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel CSV einlesen: Tab getrennt speichern


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu Daten.
  2. Wähle Text in Spalten.
  3. Wähle im Assistenten Getrennt und klicke auf Weiter.
  4. Setze ein Häkchen bei Tabulator als Trennzeichen.
  5. Klicke auf Fertig stellen, um die Datei in Excel einzulesen.

Wenn deine CSV-Datei tabulatorgetrennt ist, wird Excel die Daten automatisch in Spalten aufteilen.


Häufige Fehler und Lösungen

  • Problem: Excel zeigt alle Daten in einer einzigen Spalte.

    • Lösung: Stelle sicher, dass du im Text in Spalten-Assistenten das Tabulator-Trennzeichen auswählst.
  • Problem: Excel interpretiert Preise (z.B. 1.28) als Datum (z.B. 01.01.2028).

    • Lösung: Nutze Bearbeiten - Suchen und Ersetzen, um Punkte in Kommas umzuwandeln. Markiere die gesamte Tabelle, wähle Format - Zellen - Zahlen und setze auf Standard.
  • Problem: Laufzeitfehler „Überlauf“ beim Import.

    • Lösung: Überprüfe die Anzahl der Spalten und Zeilen in deiner CSV-Datei. Reduziere die Anzahl, um zu sehen, ob das Problem weiterhin besteht.

Alternative Methoden

  • CSV Datei in Excel einlesen: Anstelle den Text-Import-Assistenten zu verwenden, kannst du die CSV-Datei auch direkt öffnen. Klicke auf Datei - Öffnen und wähle deine CSV-Datei aus. Achte jedoch darauf, dass du das richtige Trennzeichen angibst, wenn du dazu aufgefordert wirst.

  • VBA-Makro nutzen: Ein VBA-Skript kann dir helfen, spezifische Zeichen in deiner CSV-Datei zu ersetzen. Hier ein einfaches Beispiel:

Sub Read_Extern_File_and_Replace_Signs()
    Dim i As Long, n As Integer
    Dim txtlines As Long
    Dim textArr As Variant
    Dim ReadFile As String, tempStr As String
    ReadFile = "C:\Demo.csv"
    ' Code für das Einlesen und Ersetzen hier
End Sub

Praktische Beispiele

Angenommen, du hast eine CSV-Datei mit folgenden Daten:

Name    Preis
Produkt1    1.99
Produkt2    3.50
  1. Speichere die Datei als produkte.csv und stelle sicher, dass die Werte tabulatorgetrennt sind.
  2. Folge der Schritt-für-Schritt-Anleitung, um die Datei in Excel zu importieren.
  3. Prüfe, ob die Preise korrekt formatiert sind.

Tipps für Profis

  • CSV tabulator getrennt speichern: Wenn du Daten exportierst, achte darauf, dass du das richtige Trennzeichen auswählst. In vielen Programmen kannst du das Format der CSV-Datei anpassen.

  • Automatisierung nutzen: Wenn du häufig mit CSV-Dateien arbeitest, überlege dir, ein Makro zu erstellen, das die gängigsten Schritte automatisiert.

  • Excel tabulator entfernen: Wenn du keine Tabulatoren mehr benötigst, kannst du sie mit Suchen und Ersetzen entfernen.


FAQ: Häufige Fragen

1. Wie kann ich eine CSV-Datei in Excel öffnen ohne die automatische Formatierung?
Um die automatische Formatierung zu vermeiden, öffne die Datei über Daten - Text in Spalten und wähle das richtige Trennzeichen.

2. Was kann ich tun, wenn Excel meine Kommas nicht erkennt?
Überprüfe die Excel-Optionen für das Dezimaltrennzeichen und stelle sicher, dass sie mit dem Format deiner CSV-Datei übereinstimmen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige