Supportnet Computer
Planet of Tech

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.

Antwort 3 von Kopfrechner

Zitat:
Ö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

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

Antwort 6 von Kopfrechner

Wenn Du ein neues Excel hast, probier mal so:

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

Antwort 8 von Eleve

@Kopfrechner
Hut ab wahnsinnige Geschwindigkeit !
Bitte meinen Beitrag streichen.
Danke

Eleve

Antwort 9 von Kopfrechner

Zitat:
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 möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: