Excel / Automatischer Datenimport

Gast #444820
Lesenswert?
• ▲
▼
Habe einige txt Dateien diese würde ich gerne automatisch mit Excel 
auswerten. Allerdings variiert die Größe. Außerdem falls möglich möchte 
ich die txt Datei einfach auf mein Excel projekt ziehen können, dann 
soll alles automatisch laufen.

Sieht da jemmand den Schimmer einer Chance ?

Danke !
Gast #444828
Lesenswert?
• ▲
▼
was enthält denn diese txt-datei? irgendwelche werte, die sich halbwegs 
vernünftig in eine tabelle eintragen lassen?
dann könntest du mit dem CSV (comma separated values) -> 
http://en.wikipedia.org/wiki/Comma-separated_values arbeiten...du mußt 
eben nur beachten, dass die werte, die in einer neuen SPALTE stehen 
sollen durch ein komma getrennt sind, eine neue ZEILE im excel sheet 
wird durch ein CRLF (enter) angezeigt...das funktioniert in der regel 
ganz gut...
Gast #444859
Lesenswert?
• ▲
▼
also bei dir sind zwei werte jeweils durch ein ; getrennt ? wenn ich das 
richtig verstehe ? dann ersetz durch die replace-funktion des 
texteditors als ; durch ein , (komma)
den letzten spalten eintrag erkennt er durch das enter (cr/lf) am ende 
deiner zeile ... stehen nur zwei werte in einer zeile gibts auch nur 
zwei spalten - fertig :-)
oder habe ich deine frage falsch verstanden?
Gast #444879
Lesenswert?
• ▲
▼
;-)

Ja fast , also ich habe ein Textdatei mit ca 1000 Zeilen. Jeder Zeile 
enthält 2 Werte.

Leider variiert die Zeilenanzahl aber ich möchte gerne trotzdem ohne 
mühsames bearbeiten diese Daten auswerten.

d.h wie mache ich Excel klar das bei Dateien unterschiedlicher größe 
immer gewisse Rechnungen durchgeführt werden ?


CRLF habe ich leider noch nie gehört ??? :-(
Gast #444885
Lesenswert?
• ▲
▼
CR/LF sind im grunde nur die steuerzeichen für ein enter (den cursor 
wirder an den anfang setzen und eine neue zeile - mal grob gesprochen) - 
aso wenn deine zeile mit nem enter endet, ist alles gut ;-)
excel ist egal wie lang die datei ist...sinds zwei zeilen gibts eben nur 
zwei spalten mit zwei zeilen, sind tausend zeilen gibts im execl sheet 
eben 1000 zeilen...
hauptsache du benennst deine txt-datei in eine csv-datei um und trennst 
deine zwei werte pro zeile mit einem komma....dann brauchst du die nur 
noch zu öffnen in excel/oder importieren (musste mal gucken) und das 
war's
Gast #444888
Lesenswert?
• ▲
▼
ach so, zum thema berechnung...
ich bin nicht so der excel-profi, aber wenn du ne summe o.ä haben willst 
einer spalte oder zeile, dann geht das ja unabhängig davon wieviele 
werte du im sheet hast....ist dann nur ne frage wie und wo man die 
formel im sheet anordnet...
Gast #444940
Lesenswert?
• ▲
▼
Das problem ist so gesehen nicht die Rechnung sondern Excel klar zu 
machen das über eine variable Zeilenanzahl werte ausgerechnet werden 
sollen. Und dann nicht die ganze spalte sondern es sollen immer nur 20 
werte ausgerechnet werden. Und dann die nächsten 20
Gast #444943
Lesenswert?
• ▲
▼
entweder vbScript (ich weiß nicht wie komplex die formeln da werden 
dürfen) oder du ordnest deine daten einfach anders an, dass immer blöcke 
von 20 wertepaaren verarbeitet werden...also zb anstatt 20 zeilen machst 
du dann eben zwanzig spalten und machst über diese spalte den 
mittelwert...und dann für die nächsten 20 werte (stehen in zeile 2) usw 
...
naja, geht sicher auch leichter wenn man sich mit excel eingehender 
beschäftigt...
Gast #445391
Lesenswert?
• ▲
▼
>Ja aber markros sehen ja nicht die letzte Zeile sondern nur die Zeile
>die ich angeklickt habe.

Komisch, bei mir funktioniert das auch mit mehreren Blättern und 
Arbeitsmappen.
Vielleicht solltest du mal einen Blick auf VBA-Seiten werfen 
(activevb.de oder so).
Gast #446686
Lesenswert?
• ▲
▼
Also in Macros von Excel kannst du mit

Range("A6").Value

jede Zelle ansprechen - musst halt das A6 durch die Zellenadresse 
ersetzen.

Du kannst ja auch eine Schleife bauen, die als Ersten Schritt die Zeilen 
nacheinander abklappert und schaut, ob noch ein Wert in Spalte A steht, 
wenn nicht ist n-1 dein letzter Wert.

Ich hab mal sowas gemacht - waren aber ca. 4000 Datensätze.
Mein ganzes Macro is gerade mal 8 Sekunden glaufen (incl. Berechnungen)

Du könntest ja auch in die Zeilen 20, 40, 60,... Spalte C einfach eine 
Formel eintragen

Range("C20").FormulaR1C1 = "xxxxx"

Wenn du mehr Info drüber suchst, fang mal mit der VBA-Hilfe (F1) an.

Du kannst jedoch auch einmal ein Makro aufzeichnen wo du die Formel 
eingibst und dann im VBA-Editor analysieren und die relevanten Teile 
weierverwenden, wenn du dir über die genaue Syntax-Anwendung nicht ganz 
im klaren bist!

aja, in den VBA-Editor kommst du mit Alt+F11

Ich hoff, ich konnt dir etwas weiterhelfen

LG

Markus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren