mikrocontroller.net

Forum: PC-Programmierung Excel / Automatischer Datenimport


Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit: ach ja, achte dabei auf die besonderheit mit " (hochkomma, 
anführungsstriche, wie auch immer du es nennen willst), bei wiki ist's 
aber auch nochmal erklärt...

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es sind zwei Werte durch ; getrennt.

Nur mit welcher funktion sucht sich excel automatisch den varierenden 
letzten spalten eintrag !?

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
entschuldigung meinte den letzten Zeileneintrag ?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem Zeilenede der Text-Datei...

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ??? :-(

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmpf danke leider ist es nicht nur die Summe muß die Werte auch 
untereinander addieren. Z.b. 1 plus 2 usw.

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was willst du denn aus den werten berechnen ? nen mittelwert über eine 
spalte zb ?

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal was von Makro-Aufzeichnung gehört/gelesen?

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, ja nachdem was er machen will/muss, geht's ja dann ggf. auch mit 
vbScript weiter...k.a. wie "komplex" seine berechnungen da werden sollen

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also,

imprinzip den Mittelwert über 20 Werte also über 20 Zeilen.



@unsichtbarer WM-Rahul

Ja aber markros sehen ja nicht die letzte Zeile sondern nur die Zeile 
die ich angeklickt habe.

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ich&er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Vol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm das mit den Spalten ist ein sehr gute tip ! ;-) hm muß ich mal drüber 
nachdenken.

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Matthias S. (da_user)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datei in Word öffnen, Tabelle - Umwandeln - Text in Tabelle

viel spaß

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.