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

Zwei Sheets langsam zusammen in Workbook

Zwei Sheets langsam zusammen in Workbook
12.09.2018 13:41:51
David
Hallo,
mal wieder ich. Diesmal aber eine prinzipieller Frage.
Ich habe ein Workbook, darin zwei Sheets. Diese haben keine direkte Verbindung zueinander, arbeiten also komplett unabhängig. Die Gemeinsamkeit, sie greifen beide auf die selben VBA-Funktionen zu und machen im Grunde beide das selbe.
Sheet 1: Änderung der Eingangs Angaben -- zügige Rechnung, und Aktualisierung aller weiteren Zellen.
Sheet 2: Änderung der Eingangs Angaben -- extrem lange Rechenzeit bzw. bis alle weiteren Zellen Aktualisiert sind.
Lösche ich Sheet 1 aus dem Workbook, dann funktioniert auch Sheet 2 schnell und ohne Probleme. Ich hätte aber gerne beide in einem Workbook. Woran kann es liegen, dass beide getrennt voneinander sauber laufen, zusammen in einem Workbook aber das zweite Sheet so extreme Probleme hat?
Anmerkung: Problem sowohl bei automatischer Aktualisierung als auch bei manueller.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
12.09.2018 14:17:44
Piet
Hallo
kannst du eine Beispieldatei mit anonymen Daten hochladen. Laufen da Makros?
Wenn ja bitte mit den Makros!! Ohne die Datei zu sehen ist das mehr Reatespiel.
Ich lasse den Trhead offen, falls einer das Problem kennt ...
mfg Piet
AW: Zwei Sheets langsam zusammen in Workbook
12.09.2018 14:18:26
ChrisL
Hi David
Finde den Unterschied zwischen Tabelle1 und Tabelle2.
Wir könnten jetzt raten z.B.
- Salat bei den bedingten Formatierungen oder Bereichsnamen
- VBA UDF oder Events
- volatile Formeln
- usw.
Führt aber zu nichts, weil die Frage ist so allgemein wie "Zwei Autos, eines schnell, eines langsam, woran liegt es?"
cu
Chris
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
12.09.2018 15:11:28
David
Hallo Chris,
danke erst mal für deine Antwort.
Prinzipiell sind die von dir genannten Sachen möglich aber meines Wissen, habe ich diese überprüft.
Ergänzend habe ich jetzt festgestellt, dass wenn beide Sheets einzeln in einem Workbook(Datei) liegen und nur eine geöffnet ist, dann diese jeweils funktioniert. Sobald ich beide gleichzeitig öffnen, tritt wieder das selbe Problem auf, obwohl beide ja theoretisch komplett voneinander entkoppelt sind. Das schließt meiner Meinung nach alles vorgeschlagene ja quasi aus, oder nicht?
Es ist ja nicht so, dass das zweite immer langsam ist. Denn alleine geöffnet arbeitet auch dieses schnell, nur wenn das erstere auch geöffnet wird, bekommt es die Probleme.
Ich schau mal ob ich, die Sheets soweit unkenntlich machen kann das ich sie hier offen legen kann.
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
12.09.2018 15:37:53
ChrisL
Hi David
Ausschliessen würde ich nichts...
z.B. Application.Volatile bezieht sich auf die Applikation.
cu
Chris
AW: Zwei Sheets langsam zusammen in Workbook
13.09.2018 14:58:16
David
Hallo Chris,
ich doch nochmal.
Was ich noch nicht ganz verstehe ist, auf beiden Sheets wird eine UDF mit Application.Volatile genutzt. Wenn beide geöffnet sind, warum arbeitet Sheet 1 sauber und Sheet 2 nicht? Wenn man davon ausgeht das bei einer Änderung auf Sheets zwei auch Sheet 1 aktualisiert wird (was Zeit bräuchte aber nicht so viel), dann müsste umgekehrt eine Änderung auf Sheet 2 eine komplette Aktualisierung aller Zellen mit der UDF bewirken, was die gleiche Zeit benötigen sollte wie umgekehrt. Dies ist offensichtlich nicht so?
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
13.09.2018 17:15:24
ChrisL
Hi David
Warum erstellst du nicht einfach die Beispieldatei. Vielleicht sehe ich dann einen konkreten Grund, vielleicht auch nicht.
Rätselraten ist zwar lustig, aber nicht sehr effizient bei der Problemlösung.
cu
Chris
AW: Zwei Sheets langsam zusammen in Workbook
14.09.2018 11:32:14
David
Hallo Chris,
dann hier nun die Beispieldatei.
https://www.herber.de/bbs/user/123942.xlsm
Kurze Anmerkung.
In beiden Arbeitsblattmodulen liegt ein Sub der beim Ändern der Eingabeparameter eine komplette Nebenrechnung des Sheets vornimmt, via Application.CalculateFull . CalculationFull ist notwendig, da sich auf dem Sheets Zellen befinden in denen eine UDF dynamisch Werte auswählt, die sie zur Berechnung benutzt. Diese können folglich nicht hart als Übergabeparameter angegeben werden, was dazu führt, dass Calculate sie nicht neu berechnet. Nur CalculateFull aktualisiert auch diese, leider habe ich keine Möglichkeit gefunden dies nur für das entsprechende Sheet anzusetzen.
Du kannst ja einfach selbst mal testen. In Sheet 1 kannst du die Eingangsparamter ändern, neue Zeilen hinzufügen oder löschen usw., alles wird relativ zügig umgesetzt. Versucht du selbiges in zweitem Sheet, dann funktioniert das zwar auch aber dauert sehr lange.
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
14.09.2018 13:24:51
ChrisL
Hi David
Der Unterschied zwischen Tabelle1 und 2 liegt in den Zeilen 151-155.
    Do While IsNumeric(Cells(Application.Caller.Row + begin_area, Application.Caller.Column)) =  _
False Or Cells(Application.Caller.Row + begin_area, Application.Caller.Column) = ""
begin_area = begin_area + 1
Loop
Hier wird ab UDF der nächste Wert gesucht. Da die UDF in Tabelle2 in der letzten beschriebenen Zeile steht, läuft die Schleife bis zur letzten Zeile (1 Mio.) und das dauert. In Tabelle1 hingegen ist bei Zeile 151 Schluss.
N.b. während der langen Berechnung mal Ctrl+Break drücken um zu sehen was das Makro gerade so macht.
cu
Chris
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
14.09.2018 13:40:31
David
Hallo Chris,
vielen Dank für deine Mühen,
aber in der letzten Zeile (146) steht doch eine UDF die nach oben hin sucht. Die UDF über einem Block wertet ja immer den einen darunter liegenden Block aus, während die UDF unter einem Block immer alle darüber liegenden Blöcke auswertet.
Der von der Genannte Code Ausschnitt, ist ja aus der UDF die immer über halb des Blockes ansetzte. Verstehe ich vielleicht ´nicht richtig was du als Fehler ausgemacht hast?
Und müsste nicht durch CalculateFull ausgelöst durch eine Änderung auf dem ersten Sheet, auch das zweie aktualisiert werden und es folglich in die selbe Problematik einlaufen?
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
14.09.2018 13:53:45
ChrisL
Hi David
Kopiere mal die Zeilen 151-155 aus TB1 in TB2. Du wirst sehen, danach flutscht es (proof of pudding).
Du kannst die Schleife (kommt in unterschiedlichen UDF's vor) auch mal im Einzelschritt durchlaufen oder mit Debug.Print überwachen. Die Schleife läuft ins Nirvana.
cu
Chris
AW: Zwei Sheets langsam zusammen in Workbook
14.09.2018 14:02:37
David
Hallo Chris,
wow danke. Die Puddingprobe hat dich bestätigt, entschuldige wenn ich da erst nachgehackt habe.
Dann werde ich mich mal dran machen, das zu verstehen.
Eine allgemeine Frage aber noch. CalculateFull müsste doch beide Sheets aktualisieren oder nicht? Wieso läuft es dann nicht auch in diese Schleife rein, wenn es von Sheet 1 ausgelöst wird?
Anzeige
AW: Zwei Sheets langsam zusammen in Workbook
14.09.2018 14:10:49
ChrisL
Hi
Ja CalculateFull sollte eigentlich alles aktualisieren. Vielleicht stimmt die Aktualisierungsreihenfolge nicht.
Ansonsten müsstest du noch einmal ein abgespecktes Beispiel hochladen, womit man das Aktualisierungsproblem nachvollziehen kann. Bis ich bei deiner Mappe alle Funktionen und Zusammenhänge durchgeackert habe ist es Montag und ich habe am Wochenende noch etwas vor ;)
cu
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige