Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
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

Problem mit worksheet.calculate

Problem mit worksheet.calculate
04.03.2022 22:08:51
Marlon
Guten Abend,
ich murkse seit Stunden an dieser Sache herum. Könnte mir vielleicht jemand unter die Arme greifen?
1. Ich rufe Daten über eine API ab. Es sind historische Kursdaten.
2. Wenn ich die Daten für einen bestimmten Zeitrahmen, zb. einen Tag, einzeln abrufe klappt das.
3. Wenn ich mehrere Tage in einem Loop abrufen will klappt das nicht.
Warum nicht?
Bei der Abfrage gibt es ein worksheet.calculate das die bereits abgerufenen Daten in einer Tabelle speichert, WENN eine bestimmte Zelle das Wort RECEIVED enthält.
Beim Loop geht alles offensichtlich zu schnell und das Wort REQUEST in der Zelle ändert sich nicht schnell genug in RECEIVED. Und das wäre die Bedingung für den Download der Dateien in ein Worksheet. (Danach würde dann in der selben Zelle FINISHED stehen)
Ich habe bereits application.wait und application.calculate in allen Variationen probiert. Und mich damit stundenlang beschäftigt.
Wenn ich an der Stelle bevor das Worksheet.Calculate aufgerufen wird einen Haltepunkt setze und das Skript dann manuell (über F5) weiterlaufen lasse, klappt alles immer und die Daten werden in das Sheet kopiert und in der Zelle steht FINISHED.
Gibt es irgendetwas, das ich tun kann um dieses manuelle Anhalten und weiterlaufen lassen zu simulieren? (Wie gesagt, application.wait hab ich schon probiert)
Danke

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit worksheet.calculate
04.03.2022 22:26:56
ralf_b
und ein Timer? Hast du den auch probiert?
Timer funktioniert leider nicht
04.03.2022 23:36:47
Marlon
Hallo Ralph,
applicatioin.wait ist doch meist die Basisfunktion für Timer. Also, diesen timer hab ich stundenlang probiert.
Scheint so dass die Aktualierung der betreffenden Zelle immer erst NACH der Funktion geschieht - und damit
zu schnell für die gleich darauf folgenden Abläufe.
AW: Timer funktioniert leider nicht
05.03.2022 08:08:45
Peter
Kann ggf. Ein "DoEvents" an passender Stelle helfen?
DoEvents hat auch nicht geklappt
05.03.2022 11:06:18
Marlon
Ja, Do Events hatte ich vergessen zu erwähnen. Das habe ich mit application.wait und application. calculate gemeinsam probiert. Danach, davor, dazwischen ... Es hat leider nicht bewirkt, dass das API Ereignis gezogen wird bevor die Worksheet_Calculate aktion stattfindet.
Nur wenn ich die Aktion vor der Worksheet Calculate anhalte und von Hand starte, gelingt es.
Anzeige
AW: DoEvents hat auch nicht geklappt
05.03.2022 11:41:46
ralf_b
da wir deine Umsetzung nicht kennen, können wir nur vorschlagen was so gehen könnte.
Deine Antworten können wir entsprechend auch nicht verifizieren.
Weiß jemand Rat?
07.03.2022 16:06:44
Marlon
Hat jemand noch eine Idee? Ich steh wirklich an.
AW: Weiß jemand Rat?
07.03.2022 19:51:39
peterk
Hallo
probier mal folgende "Wait" Schleife

mytimer = Timer()
Do
DoEvents
Loop Until (mytimer + 1) 
Peter
AW: Problem mit worksheet.calculate
07.03.2022 18:57:13
Piet
Hallo
ich habe Null Ahnung worüber hier gesprochen wird!!?
Was ich nicht verstehe, wieso werden abgerufene Daten erst gespeichert wenn eine Zelle ein bestimmtes Wort enthält?
Kannst du die Daten nicht direkt als Text in ein Worksheet laden?
Vielleicht solltest du mal das Makro oder die Datei als Beispiel hochladen, vielleicht blicken wir dann durch was da nicht funktioniert.
mfg Piet
Anzeige
Datei hochladen - das wäre eine Zumutung!
07.03.2022 20:17:50
Marlon

Piet, hast du gelesen, was ich geschrieben habe? Es gibt Dateien, die sind so groß und umfangreich, dass Du für die Einarbeitung mindestens eine Stunde brauchst - und grade bei einer API Angelegenheit mußt du noch dazu das Source- oder Socketprogramm installieren. Wenn Du das einem Mitglied in diesem Forum zumuten willst, mach du das. Ich nicht. Ich finde das unverschämt. Jeder hier arbeitet freiwillig mit, aber das muß seine Grenzen haben. Deswegen - so habe ich es bereits in einem vorigen Post geschrieben - lade ich das Riesending hier nicht hoch - und erwarte auch nicht, dass sich jemand noch Programme runterlädt um mir zu helfen.
Zweitens: Ja, es geht um eine API angelegenheit. Die DDE-Funktion ruft Daten über ein Socket ab. Da du fragst, ob ich die Daten nicht "direkt in ein Worksheet laden" könne, frage ich ob du diese Frage stellst, weil Du dich mit API, DDE und Sockets auskennst. Oder einfach weil Du gehört hast, dass man im Allgemeinen Daten in Worksheets laden kann?
Ich bin dankbar für jede Hilfe, die hilft.

Anzeige
AW: Datei hochladen - das wäre eine Zumutung!
07.03.2022 21:16:51
Oberschlumpf
gehts noch UNfreundlicher?! ach nee, musst meine Frage nich beantworten - wende dich lieber an einen Auftragsprogrammierer; der verdient wenigstens was bei 1 Std. Einarbeitung vor dem Versuch, eine Lösung erarbeiten zu können; auch ach nee! die 1 Std gilt ja nur bei gezeigter Bsp-Datei! Na, mal sehen, wie lange der Programmierer ohne Datei brauchen würde! - oh...ne Antwort für PeterK's Idee wäre auch nett!
Oberschlumpf, was stimmt mit Dir nicht?!
09.03.2022 00:53:08
Marlon
Oberschlumpf, was ist mit Dir nicht in Ordnung?! Ich schreibe, ich will niemandem zumuten, sich eine Stunde lang in ein Projekt einzuarbeiten und das findest Du unfreundlich? Wenn Du miese Laune hast und jemanden beleidigen willst, mach das mit Dir selber. Hier sollte ein besserer Umgangston herrschen. Lies dir auch besser die Texte durch bevor du kritisierst und massregelst. Und dann noch dieser absolute dumme Tipp mit dem Auftragsprogrammierer. Mit Dir stimmt was nicht. Das ist einfach dumm und ärgerlich!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige