Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1416to1420
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

Formel als VBA weil zu langsam?

Formel als VBA weil zu langsam?
30.03.2015 12:41:37
DS
Hallo Allerseits,
Habe in meinem "selbstgestrickten" Arbeitsplan in Spalte C die Berechnung der Gesamtstunden.
In den Spalten E bis AI (vom 1. bis 31. des Monats)stehen Kürzel, welche dem Mitarbeiter sagen, wo und von--- bis---Uhr er arbeitet (bestehend aus Buchstaben und Zahlen, z. B. GS1, KL2 oder KW3, usw.).
In einem separaten Sheet steht neben jedem Kürzel die Stundenzahl, die jeweils addiert werden soll.
Alles funktioniert auch prächtig, wenn da nicht die (unerträglich) lange Wartezeit beim Berechnen wäre...
Jetzt komm ich endlich zum Punkt:
GehtdathierAuchSchneller?
WENN(D57>0;WENN(D57>999;SUMMENPRODUKT(($E57:$AI57=Cats!$K$14:$K$1120)*(Cats!$L$14:$L$1120))+SUMMENPRODUKT(($E57:$AI57=Cats!$I$14:$I$1120)*(Cats!$L$14:$L$1120));"");"")
Vielen Dank im Voraus :-)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel als VBA weil zu langsam?
30.03.2015 16:15:13
fcs
Hallo DS,
auch wenn die ca. 65000 Prüf- und Rechenoperationen schon recht heftig sind liegt das Problem wahrscheinlich darin, liegt das Problem wahrscheinlich darin, dass diese Formel mehrfach vorkommt und die Ergebnisse in anderen Formeln weiterverarbeittet werden.
VBA ist bezüglich Rechengeschwindigkeit normalerweise langsamer als die Standardfunktionen in Excel. Man hat jedoch den Vorteil, dass man die automatische Berechnung in Excel temporär deaktivieren kann und bei entsprechender Programmierung die Berechnungen komplett in den Arbeitsspeicher verlagern kann ohne ständig auf die Zellen des Tabellenblatts zugreifen zu müssen. D.h. erst alle benötigten Daten in Datenarrays einlesen, dann prüfen/rechnen und zum Schluss dann die Rechenergebnisse zurückschreiben.
Allerding bräuchte man eine kleine Beispieltabelle in der die 2 Tabellenblätter, alle relevanten Spalten und ein paar Zeilen mit Beispieldaten vorhanden sind.
Gruß
Franz
Anzeige

130 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige