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

womit ist excel gerade beschäftigt

womit ist excel gerade beschäftigt
30.01.2023 12:38:30
uwe
Hallo, zusammen,
ich habe eine .xlsm-Mappe gebastelt, die umfangreiche vba-Formeln und z.B. bereich.verschieben-Befehle enthält.
Mittlerweile ist es fast unmöglich in der Mappe zu arbeiten, weil die Neuberechnung nach jeder Eingabe sehr zeitaufwändig ist.
In der Statuszeile seht bei mir dann nur ´Berechnung (8 Threads): xy%. und oben (... keine Rückmeldung). Nach Minuten ist XL dann mit der Neuberechnung fertig.
Lassen sich irgendwelche Hinweise herauskitzeln, was genau gerade berechnet wird, bzw. welche Prozedur gerade durchlaufen wird?´
PS:
Eine Neuberechnung von Werten wäre eig nicht immer erfoderlich, da es meistens nur um Filterfunktionen für Diagramme geht.
Jedoch möchte ich die Funktonswerte nicht als Wert fest einfügen, sondern immer wieder die Möglichkeit zur Berechnung haben.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: womit ist excel gerade beschäftigt
30.01.2023 12:48:39
Martin
Hoffentlich hab ich es richtig verstanden (und kann evt. doch mal helfen)
Unter Datei- Optionen-Formeln kann man einstellen, ob die Berechnung manuell oder automatisch erfolgen soll. Hilft das?
Beim ersten "Problem". ich lass mir immer die Anzeige des CODE einblenden und einen Zähler im Überwachungsfenster zeigen, in welcher Zeile "es" sich gerade befindet.. (als Workarround)
AW: womit ist excel gerade beschäftigt
30.01.2023 12:55:07
Daniel
Hi
Bereich.Verschieben hat das Problem, dass es eine Formel, die es enthält, volatil mach.
"volatil" bedeutet hier, dass die Formel bei jeder Änderung, die irgendwo in Excel passiert, neu berechnet wird (und damit alles, was von der Zelle mit dieser Formel abhängt).
Normale Formeln werden nur dann neu berechnet, wenn sich eine Zelle ändert, die die Formel auch verwendet.
Das Problem ist, dass bei Funktionen wie Indirekt oder Bereich.Verschieben der tatsächlich verwendete Zellbezug nicht direkt aus dem Formeltext ablesbar ist, da dieser erst in der Formel selbst berechnet wird. Daher muss die Formel immer berechnet werden, damit sie immer den korrekten Wert anzeigt.
das kann dann dazu führen, dass Excel bei jeder kleinen Änderung immer alles neu berechnet.
um jetzt die Anzahl der Berechnungen zu reduzieren, könnte man das Bereich.Verschieben durch Index():Index() ersetzen.
mit Index() kann man zwar auch Zellbezüge "berechnen", allerdings ist das Ergebnis immer eine Teilmenge des Zellbezugs im ersten Parameter und wenn man diesen als Trigger für die Neuberechnung verwendet, dann ist eine Volatilität von Index nicht erforderlich.
du sprichts von VBA-Formeln, wenn das Formeln sind, die in VBA selbstgeschriebene Funktionen verwenden (UDFs), dann solltest du diese möglichst vermeiden und nur dann einsetzen, wenn die Aufgabe mit originären Excelfunktionen nicht oder nur sehr umständlich lösbar sind, da solche UDFs langsamer verarbeitet werden als originäre Excelfunktionen und nur dann wirklich besser sind, wenn sich auch cleverer programmiert sind und schnellere Methoden anwenden.
Gruß Daniel
Anzeige
AW: womit ist excel gerade beschäftigt
30.01.2023 22:14:12
uwe
´volatile funktionen´ war ein sehr gutes Stichwort für weitere Recherche.
Tatsächlich bringt ein Ersatz der Funktion ´Bereich.verschieben(...) ´ extreme Beschleunigung.
Index(...):Index(..) ist schwer umzusetzen, weil ziemlich unübersichtlich. Wenn´s klappt, eine tolle funktion. (üben, .....)
Vielen Dank für die wertvollen Hinweise, incl. Option ´ manuelle Berechnung´.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige