Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

csv Datei öffnen

csv Datei öffnen
25.07.2005 14:02:17
RolfK
Hallo,
wenn ich eine .csv Datei aus Excel über Datei/Öffnen öffne wird diese geöffnet und die durch ";" getrennten Spalten sind spaltengerecht eingetragen.
Führe ich das Öffnen per VBA mit
Workbook.Open "....csv"
durch, werden alle Einträge in eine Spalte geschrieben.
Auch das öffnen mit
Workbooks.Open "....csv", , , 6, , , , , ";"
oder mit
Workbooks.Open "....csv", , , 4
oder mit
Workbooks.OpenText "...csv", , , xlDelimited, , , , True
hat keinen Erfolg gebracht. Hat jemand noch eine Idee?
mfg Rolf

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
hiesige Recherche: csv o.w.T.
25.07.2005 14:09:58
Reinhard
Gruß
Reinhard
kein Lösungsansatz in der Recherche gefunden...
25.07.2005 14:15:29
RolfK
Hallo Reinhard,
wie gesagt habe ich dort keinen Hinweis auf mein Problem gefunden, oder ich bin zu blind (blond :-)). Dann bitte ich um einen entsprechenden Hinweis.
Rolf
TextToColumns... o.w.T
25.07.2005 14:24:02
Reinhard
Gruß
Reinhard
Danke...
25.07.2005 14:44:06
RolfK
Hallo Reinhard,
werde mich am ausführlichen Beispiel von Russi weiter orientieren.
Rolf
AW: csv Datei öffnen
25.07.2005 14:19:09
Russi
Hallo Rolf!
Versuchs mal damit:

Sub Einlesen()
Dim FF As Byte
Dim Zeile As Integer
Dim Zeichenfolge As String
Dim WS As Worksheet
Dim SourceDatei As String
Dim Nummer As Integer
Dim StartZeile As Integer
Dim StartSpalte As Integer
Set WS = ThisWorkbook.Worksheets("Tabelle1") ' hier anpassen!
StartZeile = 3 ' hier anpassen!
StartSpalte = 2 ' hier anpassen!
FF = FreeFile
SourceDatei = ThisWorkbook.Path & Application.PathSeparator & "MAPPE1.CSV" ' hier anpassen!
Zeile = StartZeile
With WS
Open SourceDatei For Input As FF
Do While Not EOF(FF) = True
Line Input #1, Zeichenfolge
.Cells(Zeile, StartSpalte).Value = Zeichenfolge
Zeile = Zeile + 1
Loop
Close FF
.Range(.Cells(StartZeile, StartSpalte), .Cells(Zeile, StartSpalte)).TextToColumns _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False
End With
End Sub

Viele Grüße
Russi
www.Russi.de.tt
Anzeige
Danke, aber....
25.07.2005 14:42:07
RolfK
Hallo Russi,
leider bricht das makro nach der ersten Zeile des Eintrages bereits ab. Erhält also scheinbar ein EOF. Ist für mich nicht erkennbar, denn alle weiteren Zeilen haben den gleichen Aufbau.
Was kann ich hier tun, oder wonach muß ich suchen?
Rolf
AW: Danke, aber....
25.07.2005 15:00:44
Reinhard
hi Rolf,
kopiere mal die ersten 10 Zeilen deiner csv in eine 2te csv, wenn dann das problem noch existiert, lade diese hier hoch als csv bzw txt.
Gruß
Reinhard
Noch offen: csv Datei öffnen
25.07.2005 14:47:47
Russi
Hallo Rolf!
Interessante Frage...leider habe ich keine Idee dazu. Deshalb Beitrag noch als offen gekennzeichnet.
Viele Grüße
Russi
www.Russi.de.tt
Anzeige
AW: Noch offen: csv Datei öffnen
25.07.2005 15:10:34
Ramses
Hallo
Das müsste eigentlich reichen, wenn die Trennung wirklich das Semikolon ist
Option Explicit

Sub Open_CSV()
Workbooks.Open "C:\import.csv", local:=True
Range("A:A").TextToColumns , DataType:=xlDelimited, Semicolon:=True
End Sub

Gruss Rainer
Fehler bei local=true ....
25.07.2005 15:27:48
RolfK
Hallo Rainer,
Makro läuft auf Fehler bei
..., local=true
Dieses Argument finde ich bei mir auch in der Hilfe (Excel 2000) zu .Open nicht.
Ansonsten siehe auch Beispiel.
Rolf
Anzeige
Beispiel ...
25.07.2005 15:19:55
RolfK
Hallo,
hier nun das Beispiel mit ein paar Zeilen als .txt, da .csv nicht erlaubt ist.
https://www.herber.de/bbs/user/24984.txt
Wenn ich das richtig sehe, scheinen die Daten ab der zweiten Zeile nicht nur in einer Spalte zu stehen, sondern in mehreren. Hat jemand noch einen Hinweis. Komisch ist nur, dass Excel beim normalen öffnen alles korrekt übernimmt.
Rolf
AW: Beispiel ...
25.07.2005 15:44:17
Reinhard
Hi Rolf,
beim Klick auf den Link erscheint der dateiinhalt, diesen habe ich per Notepad in eine .csv geschrieben.
Deine Problematik kann ich (XL2000) nicht nachvollziehen.
Sowohl der Aufruf mit
Sub tt()
Workbooks.Open "c:\test\test2.csv"
End Sub
als auch Datei---öffnnen---test2.csv ergeben die gleiche Ansicht bzw Zelleninhalte in A1:K6:
Buchungsdatum	Valuta	Betrag	Währung	Empfängername1	Empfängername2	Primanota	BLZ Empfänger	Kontonummer Empfänger	Verwendungszweck 1	Verwendungszweck 2
15.04.2005	15.04.2005	-412,44	EUR	Text Buchung1		999999	25850110	99999999	Zusatztext1 Buchung 1	Zusatztext2 Buchung 1
26.04.2005	26.04.2005	-108	EUR	Text Buchung2		999888	25850110	888888	Zusatztext 1 Buchung 2
gebuchter Saldo	26.04.2005	-35,48	EUR
alter Saldo	04.04.2005	446,23	EUR

Gruß
Reinhard
Anzeige
Sehr merkwürdig ....
25.07.2005 15:54:23
RolfK
Hallo Reinhard,
mehr als merkwürdig, kann ich nur sagen. Evtl. funktioniert es aber bei dir auch nur deshalb weil du den Umweg über Notepad gegangen bist. Versuch es doch bitte mal über die Datei direkt. Sonst muss ich ja langsam an meinem Verstand zweifeln!!! Evtl. zu Recht ;-)?
Rolf
Sorry
25.07.2005 17:10:39
Reinhard
Hi Rolf,
gleiches problemloses Öffnen der datei und Anzeigen der Daten.
Auch folgender Code klappt. Ich kann dein Problem nicht nachvollziehen bei meinem XL2000.

Sub tt1()
With Worksheets("Tabelle1")
Close
Open "c:\test.csv" For Output As #1
For z = 1 To 6
sp = 2
Satz = Cells(z, 1)
If Cells(z, 1) <> "" Then
While Cells(z, sp) <> ""
Satz = Satz & ";" & Cells(z, sp)
sp = sp + 1
Wend
End If
Print #1, Satz
Next z
End With
Close
End Sub


Sub tt2()
Workbooks.Open "c:\test.csv"
End Sub

Gruß
Reinhard
Anzeige
Bei mir geht's nicht....
26.07.2005 09:05:29
RolfK
Hallo Reinhard,
ich versteh nicht warum es bei Dir klappt, auch wenn Du meine Orginaldatei nimmst. Ich habe es noch einmal probiert mit der von mir hochgeladenen Datei und ich habe immer noch den gleichen Effekt.
Einen Hoffnungsschimmer habe ich noch. Wenn ich die Datei einfach in .txt umbenenne scheint es mit folgenden Anweisungen zu funktionieren:
.....
DateiAusw = Application.GetOpenFilename
If DateiAusw = False Then Exit Sub
NameNeu = Left(DateiAusw, Len(DateiAusw) - 3) & "txt"
Name DateiAusw As NameNeu
Workbooks.OpenText Filename:=NameNeu, _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, OtherChar:=";"
......
Ist nur irgendwie völlig unbefriedigend, da ich keine vernünftige Erklärung habe. Fällt Dir dazu evtl. noch was ein?
mfg Rolf
Anzeige
AW: Bei mir geht's nicht....
26.07.2005 11:44:50
Reinhard
Hi Rolf,
ich kanns nicht nachvollziehen deshalb keine Lösung auf den bisherigen Wegen. Ich mutmaße es haben auch einige andere ausprobiert und konnten es nihct nachvollziehen sonst wäre sicher schon ein Beirtrag erschienen, wie gesagt Mutmaßung.
Wie isses denn mit manuellem Einlesen? Also mit
close
open "C:\pfad\test.csv" for input as #1
while not eof(1)
input #1, Satz 'oder acuh Line input #1,Satz
zei= zei +1
cells(zei,1)= Satz
wend
dann den Inhalt der 1.ten Spalte mit Text in Spalten
oder einer vba-Schleife auf die Spalten verteilen, zb mit Instr-Befehl
Gruß
Reinhard
Anzeige
Danke, Diskussion beenden...
26.07.2005 12:24:40
RolfK
Hallo Reinhard,
den von Dir genannten Lösungsansatz hatte Russi schon genannt. Siehe auch meine Kommentare dazu. Ich werde jetzt den von mir zuletzt genannten Weg gehen, auch wenn er mir nicht gefällt.
mfg Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige