Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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
Inhaltsverzeichnis

Textdatei als Endlosschleife einlesen (4)

Textdatei als Endlosschleife einlesen (4)
13.12.2016 12:35:45
Rainer
Hallo alle zusammen!
Ein großes Dank an Fennek, Werner und Uwe D. Dank eurer tollen Mithilfe macht mein Excelfile nun endlich was es soll.
Die beiden Vorgängerthreads im Forum sind:
https://www.herber.de/cgi-bin/callthread.pl?index=1528578
https://www.herber.de/forum/archiv/1528to1532/t1529021.htm#1529021
Das "Performance-Problem" habe ich lösen können. Die Abfrage

If FileDateTime(Datei(i)) > SpeicherZeit(i) Then

habe ich entfernt. Jetzt liest das Makro die Dateien alle 2 Sekunden neu ein.
Das Problem "Automatische Umleitung zum EXPORT Sheet" habe ich noch. Vorübergehend gelöst habe ich es durch
Application.ScreenUpdating = False
Worksheets("MAIN").Activate

Das hinterlässt nur ein kurzes Flackern. Aber man ist auf das MAIN Sheet festgebunden, solange der Import läuft.
Ein neues Problem ist aber entstanden. Das "Exportwerte kopieren" Makro von Uwe D. liefert beim allerersten durchlaufen eine Fehlermeldung ab:
Laufzeitfehler '1004':
Leider konnte nichts eingefügt werden, da der Kopieren-Bereich und der Einfügebereich nicht die gleiche Größe haben.

Mit "F5" im Debugger macht er ganz normal weiter und kann die Daten einfügen. Ich verstehe den Zusammenhang nicht.
Merkwürdige Lösung hier ist: Kopiere das Format von Zeile 3 auf Zeile 4. Nun überspringt er Zeile 4 beim Kopieren und erzeugt keine Fehlermeldung.
Hat jemand eine Erklärung?
Vielen Dank und viele Grüße,
Rainer

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdatei als Endlosschleife einlesen (4)
14.12.2016 05:57:14
fcs
Hallo Rainer,
aus den verschiedenen Makro-Stücken kann man nur schwer erkennen, wo das Problem sein sein könnte.
Lade doch bitte deine Datei mit den Makros hier hoch.
Die Inhalte auf den Calc-Blättern kannst du löschen (nicht die Zellen!), denn die dürften für das Problem keine Rolle spielen.
Ansonsten ist es beim Arbeiten mit OnTime zur zeitlichen Steuerung extrem wichtig, dass die Referenzen zu den Objekten (Arbeitsmappen, Tabellen, Zellen, etc) vollständig angegeben werden. Es kann sonst zu Komplikationen führen, wenn zufällig eine Andere Arbeitsmappe die aktive Mappe ist.
Tabellenblätter die sich auf die Mappe mit den Makros beziehen, sollten deshalb immer via
Thisworkbook.Worksheets("Tabellenname")
festgelegt/deklariert werden.
Des weiteren sollte man zu Beginn des Makros
die Ereignismakros deaktivieren
den Berechnungsmodus in einer Variablen zwischen speichern und dann auf manuell setzen
die Bildschirmaktualisierung deaktivieren
an den Stellen im Makro wo es zwingend erforderlich ist berechnest du dann alle Formeln neu mit
Application.Calculate
z.B. um vor dem Kopieren der Daten in die Zieltabelle die Berechnungen in den Calc-Blättern und dem Import-Blatt auf den neuesten Stand zu bringen.
Am Ende des Makros müssen dann die Application-Einstellungen zurückgesetzt werden.
die Ereignismakros aktivieren
den Berechnungsmodus auf den zwischengespeicherten Wert setzen
die Bildschirmaktualisierung aktivieren
LG
Franz
Anzeige
AW: Textdatei als Endlosschleife einlesen (4)
14.12.2016 11:39:11
Rainer
Hallo Franz,
hier ist die Datei: https://www.herber.de/bbs/user/110031.xlsm
Die zu importierende Datei ist hier:
https://www.herber.de/bbs/user/109419.txt
Der richtige Dateiname ist "x.csv".
Zum Test braucht es 3 verschiedene Ordner, die jeweils eine Kopie der "x.csv" enthalten und deren Links im Sheet IMPORT eingetragen sind.
Die Makros sind in den bunten Feldern über dem Diagram verknüpft, einfach in der Reihenfolge:
- Load FilePath
- Import Data
starten, dann läuft es automatisch.
Der Export wird ausgelöst, wenn sich das Datum von "MeasurePoint0" ändert. Dazu reicht es, die Datei "x.csv" im Texteditor zu laden und eine Kommastelle zu ändern, dann speichern.
Beim ersten Versuch erscheint dann besagte Fehlermeldung.
Viele Grüße,
Rainer
Anzeige
AW: Textdatei als Endlosschleife einlesen (4)
15.12.2016 06:08:51
fcs
Hallo Rainer,
ich die Makros in der Datei komplett umgebaut.
Unter DieseArbeitsmappe wird jetzt vor dem Schliessen der Datei ggf. das Einlesen der Daten gestoppt.
Das Ereignismakro unter dem Blatt "EXPORT" hab ich in das Einlesen-Makro integriert.
Das Ereignismakro wurde während des Einlesens mehrfach ausgelöst, so dass das Ergebnis irgendwie unbestimmt ist.
Im Blatt "Export" hattest du die Zeile 3 mit den Formeln gelöscht.
So kam ei mir keine Meldung. Ich hab die Formel neu aufgestezt - musst du mal prüfen.
Die Variable bolStop und die Steuerung von OnTime könnte man auch noch optimieren, da fehlt mir jetzt aber die Zeit.
Gruß
Franz
https://www.herber.de/bbs/user/110049.xlsm
Anzeige
AW: Textdatei als Endlosschleife einlesen (4)
15.12.2016 09:07:31
Rainer
Hallo Franz,
deine Überarbeitung ist großartig! Vielen Dank für deine Mühe, habe viel lernen können.
Wenn ich die Datei "110031.xlsm" vom Forum herunterlade, dann ist Zeile 3 im Export da? Aber komischerweise läuft sie jetzt bei mir auch ohne Fehler. Wenn ich aber die baugleiche Datei von meiner Festplatte nehme, dann habe ich den Fehler. Ich gebs auf das verstehen zu wollen.
Aber nochmals vielen Dank!
Viele Grüße,
Rainer

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige