Ich habe ein Arbeitsbuch, um 'intelligente' Graphen zu meinen Ausgaben zu machen. Es läuft seit einem Jahr und es gibt jetzt viele Grafiken und Ausgaben. Excel löst jetzt einen Fehler außerhalb der Ressourcen aus, wenn ich etwas ändere oder die Arbeitsmappe öffne. Sache ist, ich habe viel von Ressourcen und es benutzt kaum irgendwelche von ihnen.
%Vor%Ich habe 2 Blätter, das erste Blatt mit dem Namen Ausgaben hat 3 Spalten [Datum, Beschreibung, Betrag] und etwa 1500 Datenzeilen. Das zweite Blatt hat eine LOT (500 oder so) von Formeln, die alle gleich sind und zielen darauf ab, "Sum alle Ausgaben zwischen Datum X und Y, wo Beschreibung entspricht-eine gewisse Nadel" zu tun. Die Formel, die ich habe, ist dies:
%Vor%Kann ich Excel mehr Ressourcen geben? (Ich bin froh, dass es meinen ganzen Widder benutzt, und tuck meine CPU für ein paar Minuten).
Gibt es einen effizienteren Weg, diese Formel zu machen?
Ich verstehe, dass diese Formel ein großes Gitter erstellt und meine Ausgabenliste damit maskiert, und dass für jede Formel dieses Gitter erstellt werden muss. Soll ich stattdessen ein Makro erstellen, um dies effizienter zu machen? Wenn ich ein Makro hätte, würde ich es aus einer Zelle wie
nennen wollen %Vor%Ist das möglich?
Danke.
Ich habe versucht, eine Funktion zu erstellen, die hoffentlich mit einigen Unterschieden das nachbildet, was Ihre aktuelle Gleichung in VBA macht. Da ich die Besonderheiten Ihres zweiten Blattes nicht kenne, hilft das Caching vielleicht gar nicht.
Wenn Ihr zweites Blatt für alle Aufrufe von sumExpenses
den gleichen Datumsbereich verwendet, sollte es ein bisschen schneller sein, da es im ersten Durchgang alles voraussummiert. Wenn sich Ihr Datumsbereich ändert, dann tut das nur sehr viel arbeite für nichts.
Ich hatte ein ähnliches Problem, wo es einige Array-Formeln in etwa 150 Zeilen gab und ich bekam diesen Fehler, der mich wirklich verblüffte, weil es wirklich nicht so viele Formeln zu berechnen gibt. Ich kontaktierte unseren IT-Mann und er erklärte folgendes, von denen ich einige verstehe, von denen ich die meisten nicht kenne:
Wenn der Computer versucht, große Datenmengen zu verarbeiten, verwendet er im Allgemeinen Multi-Threaded-Berechnungen, bei denen er alle acht Prozessoren verwendet, die der Computer sich selbst vorstellt. Wenn die Multithread-Berechnung deaktiviert ist, löst der Computer den Fehler 'Excel wurde nicht ausgeführt ...' aus.
Um die Multithread-Berechnung zu deaktivieren, gehen Sie auf die Registerkarte "Datei" in Ihrer Excel-Arbeitsmappe und wählen Sie "Optionen". Auf der rechten Seite der Box, die erscheint, wählen Sie "Erweitert" und scrollen Sie nach unten zur Überschrift "Formeln". Unter dieser Überschrift befindet sich ein Kontrollkästchen mit dem Hinweis "Multithreading-Berechnung aktivieren". Ziehe es ab, wähle "OK" und berechne deine Formeln neu.
Es könnte viele Ursachen dafür geben. Ich wünschte nur, dass Excel uns sagen würde, welcher (oder mehr) der "üblichen Verdächtigen" zu diesem Zeitpunkt die Beleidigung des RAM-Hogging begeht.
Suchen Sie auch nach
Zirkulare Referenzen
Fragmentierte bedingte Formatierung (verursacht durch Ausschneiden, Einfügen, Sortieren, Löschen und Hinzufügen von Zellen oder Zeilen.
Fehler in # N / A, # REF, # DIV / 0! usw.,
Übermäßige Verwendung der flüchtigen Funktionen TODAY (), NOW (), usw.
Zu viele verschiedene Formate wurden verwendet
... in dieser Reihenfolge
Wenn Sie dort sind, suchen Sie nach
Fehlerhafte Links. Eine Formel, die auf einem frischen Wert von externen Daten beruht, könnte einen Fehler zurückgeben.
Alle Formeln, die #REF! enthalten. Wenn Ihre Formeln so durcheinander sind, können diese auch vorhanden sein. Sie verursachen kein Fehler-Flag, können jedoch einige nicht gemeldete Fehler verursachen. Wenn Ihre Formeln durch eine frühere Bedingung erfüllt sind, enthält der Teil der Formel #REF! wird erst bewertet, wenn andere Bedingungen herrschen.
Tags und Links excel excel-vba excel-2013