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]