Import von daten

hi,

ich habe eine textdatei, in der in jeder Zeile ein neuer datensatz steht. diesen möchte ich in eine exceltabelle einfügen, und zwar derart, dass ich jeweils 64 spalten habe, in die sich die werte eintragen. Der 65. wert steht dann in zeile2/Spalte1 usw.

Wie kann ich das anstellen?

Danke für alle tipps! Andreas

Hallo Andreas,

ich habe eine textdatei, in der in jeder Zeile ein neuer
datensatz steht.

Wieviele Werte stehen denn in diesem Datensatz und wodurch sind die Werte getrennt? (Leerzeichen, Strichpunkt, Tabulator,…)

lg Maria

die werte sind verschieden lang, stehen aber in einer Zeile und sind dann durch enter getrennt
bsp:

12
asdfasdf
23423
sdfg dfsg sdfg

soll nachher in 4 Spalten (bis 64 Spalten, dann wieder von vorn)

Hallo, Andreas!

Heißt also im Klartext, Du hast eine Datei, in der in jeder Zeile der Wert eines Feldes steht. Weiterhin sind die Datensätze 64 Felder=Zeilen lang?

Wenn ja, dann per Makro etwa so (Achtung, nicht kompiliert; wann kommt der Compiler nach www?):

sub ImportiereDatei
 dim intDatei as integer
 dim strZeile as string
 dim wsZiel as worksheet
 dim lngZeile as long
 dim lngSpalte as long

 const DATEINAME as string="C:\HierStehtDeineDateiMitPfad.txt"

 ' Wir wollen mal in die erste Tabelle importieren:
 set wsSheet = Worksheets(1)
 ' Zunächst diese löschen
 wsSheet.cells.clear
 lngZeile=1
 lngSpalte=1
 ' Dateinummer
 intDatei = FreeFile
 open DATEINAME for input as #intDatei
 ' Zeilen lesen, bis Dateiende erreicht
 do while not eof(intDatei)
 line input #intDatei,strZeile
 wsSheet.Cells(lngZeile, lngSpalte)=strZeile
 ' nächste Spalte
 lngSpalte=lngSpalte+1
 if lngSpalte\>64 then
 ' Wenn Datensatz zuende (64 Spalten), dann von vorn...
 lngSpalte=1
 ' und nächste Zeile
 lngZeile=lngZeile+1
 endif
 loop
 close #intDatei
end sub

Gruß, Manfred

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]