Supportnet / Forum / Tabellenkalkulation
CSV - Datei in EXCEL öffnen
Frage
Hallo,
beim Öffnen einer CSV-Datei (Trennzeichen ist das Semikolon) wird EXCEL aufgerufen - wunderbar. Leider habe ich in der Datei Spalten, die Zahlenwerte (auch mit führenden Nullen) enthalten. Da die führenden Nullen wichtig sind, möchte ich, dass die Daten automatisch als Text formatiert werden und die führenden Nullen nicht entfernt werden.
Gibt es eine Möglichkeit ?
Vielen Dank
Ralf
Antwort 1 von Kopfrechner
Kenne mich mit Excel nicht aus. Aber wenn Du die Datei in "*.txt" umbenennst, kommt beim Öffnen der Importassistent und dort kannst Du die Spaltenformate festlegen.
Antwort 2 von Eleve
Hallo Ralf
vielleicht hilft folgender Weg.
Öffne Excel,
dann über Datei öffnen die gewünschte csv-Datei öffnen.
Es erschein der Textkonvertierungsassistent.
Lass die Auswahl auf Getrennt Zeichen und gib das Semicolon als Tennzeichen an, dann auf weiter.
Jetzt kannst du durch anklicken der Tabelle und wählen oben für die gewünschte Spalte Text auswählen und das sollte es gewesen sein.
Gruß
Eleve
Eine kurze Rückmeldung ob es geklappt hat wäre nett.
vielleicht hilft folgender Weg.
Öffne Excel,
dann über Datei öffnen die gewünschte csv-Datei öffnen.
Es erschein der Textkonvertierungsassistent.
Lass die Auswahl auf Getrennt Zeichen und gib das Semicolon als Tennzeichen an, dann auf weiter.
Jetzt kannst du durch anklicken der Tabelle und wählen oben für die gewünschte Spalte Text auswählen und das sollte es gewesen sein.
Gruß
Eleve
Eine kurze Rückmeldung ob es geklappt hat wäre nett.
Antwort 3 von Kopfrechner
Zitat:
Öffne Excel,
dann über Datei öffnen die gewünschte csv-Datei öffnen.
Es erschein der Textkonvertierungsassistent.
Öffne Excel,
dann über Datei öffnen die gewünschte csv-Datei öffnen.
Es erschein der Textkonvertierungsassistent.
Tach Eleve!
Wir meinen das Gleiche! Aber beim Öffnen von CSV-Dateien kommt dieser Assistent nicht. Deshalb sollte man eine Textdatei draus machen.
Antwort 4 von Eleve
Hallo Kopfrechner
hab nen Weg gefunden! Einfach unter
Daten
Externe Daten
Textdatei importieren
aufrufen, dann erscheint auch der Assistent bei csv-Dateien.
Gehts?
Eleve
hab nen Weg gefunden! Einfach unter
Daten
Externe Daten
Textdatei importieren
aufrufen, dann erscheint auch der Assistent bei csv-Dateien.
Gehts?
Eleve
Antwort 5 von ralfkre
Vielen Dank für die Tipps - es funktioniert, wie Ihr es beschrieben habt.
Ich wollte diesen Weg - wenn möglich - aber nicht gehen, da bei meiner Anwendung von anderen Programmen erstellte Textdateien von verschiedenen Anwendern mit Hilfe von EXCEL nachbearbeitet werden sollen. Da es mein Ziel war, dabei den Anwendern den größten Komfort zu bieten, mir Rückfragen von den Anwendern zu ersparen und mögliche Fehlerquellen durch fehlerhafte Bedienung auszuschliessen, wollte ich am liebsten den Konvertierungsassistenten nicht einsetzen.
Nochmal vielen Dank für die schnelle Hilfe.
Ralf
Ich wollte diesen Weg - wenn möglich - aber nicht gehen, da bei meiner Anwendung von anderen Programmen erstellte Textdateien von verschiedenen Anwendern mit Hilfe von EXCEL nachbearbeitet werden sollen. Da es mein Ziel war, dabei den Anwendern den größten Komfort zu bieten, mir Rückfragen von den Anwendern zu ersparen und mögliche Fehlerquellen durch fehlerhafte Bedienung auszuschliessen, wollte ich am liebsten den Konvertierungsassistenten nicht einsetzen.
Nochmal vielen Dank für die schnelle Hilfe.
Ralf
Antwort 6 von Kopfrechner
Wenn Du ein neues Excel hast, probier mal so:
Bei einem alten Excel muß die Split-Funktion zusätzlich definiert werden:
Ist aber nur primitiver Code. Anführungszeichen könnte man noch ausfiltern, Semikolons innerhalb von Anführungszeichen werden aber als Trennzeichen erkannt!
Außerdem wärs auch eleganter, wenn man nicht jede Zelle einzeln formatieren würde.
Bin aber noch blutiger Anfänger. Für Fehler hafte ich nicht. ;-)
Sub csv()
Dim i As Long
Dim z As String
Dim a As Variant
Dim n As Long
Open "c:\test.csv" For Input As #1
n = 0
While Not EOF(1)
n = n + 1
Line Input #1, z
a = Split(z, ";")
For i = 0 To UBound(a)
Cells(n, i + 1).NumberFormat = "@"
Cells(n, i + 1) = a(i)
Next
Wend
Close #1
End Sub
Bei einem alten Excel muß die Split-Funktion zusätzlich definiert werden:
Function Split(z, t) As Variant
Dim i As Long
Dim i2 As Long
Dim n As Long
i = InStr(z, t)
n = 0
While i > 0
n = n + 1
If i + 1 <= Len(z) Then
i = InStr(i + 1, z, t)
Else
i = 0
End If
Wend
If n = 0 Then
ReDim a(0)
a(0) = z
Else
ReDim a(n)
i = 0
For m = 0 To n - 1
i2 = InStr(i + 1, z, t)
a(m) = Mid(z, i + 1, i2 - i - 1)
i = i2
Next
a(m) = Mid(z, i2 + 1)
End If
Split = a
End Function
Ist aber nur primitiver Code. Anführungszeichen könnte man noch ausfiltern, Semikolons innerhalb von Anführungszeichen werden aber als Trennzeichen erkannt!
Außerdem wärs auch eleganter, wenn man nicht jede Zelle einzeln formatieren würde.
Bin aber noch blutiger Anfänger. Für Fehler hafte ich nicht. ;-)
Antwort 7 von Eleve
Hallo Ralf
ist die Länge der Zahlen immer gleich? Soll heissen, die führenden Nullen füllen die Zahlen immer auf bestimmte Stellen auf. Wenn Du den Assistenten nicht verwenden mögtest gibt es noch die Möglichkeit (etwas aufwändiger) ein Makro zu schreiben, evtl. mit Abfrage um an den Dateinamen zu kommen. Damit währe es kein Problem.
Eleve
ist die Länge der Zahlen immer gleich? Soll heissen, die führenden Nullen füllen die Zahlen immer auf bestimmte Stellen auf. Wenn Du den Assistenten nicht verwenden mögtest gibt es noch die Möglichkeit (etwas aufwändiger) ein Makro zu schreiben, evtl. mit Abfrage um an den Dateinamen zu kommen. Damit währe es kein Problem.
Eleve
Antwort 8 von Eleve
@Kopfrechner
Hut ab wahnsinnige Geschwindigkeit !
Bitte meinen Beitrag streichen.
Danke
Eleve
Hut ab wahnsinnige Geschwindigkeit !
Bitte meinen Beitrag streichen.
Danke
Eleve
Antwort 9 von Kopfrechner
Zitat:
Hut ab wahnsinnige Geschwindigkeit !
Hut ab wahnsinnige Geschwindigkeit !
LOL. Das Skript gab es so schon vorher. Ich mußte nur die Formatierung einfügen. Dafür hab ich fast ne halbe Stunde gebraucht (die meiste Zeit davon gegoogelt)! ;-)
Antwort 10 von redryder
Hallo ich habe eine Frage an Kopfrechner. Deinen Programmcode, wie binde ich den in Excel ein (ich bin nur Anwender und habe noch keine Ahnung von Scripting).
Ich wäre über Hilfe sehr dankbar, da ich momentan auch das Problem habe eine csv in excel zu bearbeiten und diese auch zu speichern, nur werden die ganzen Formate nicht übernommen beim nochmaligen öffnen ( Das mit den führenden Nullen.)
Ich wäre über Hilfe sehr dankbar, da ich momentan auch das Problem habe eine csv in excel zu bearbeiten und diese auch zu speichern, nur werden die ganzen Formate nicht übernommen beim nochmaligen öffnen ( Das mit den führenden Nullen.)