Excel: Automatische Berechnung pro Mappe deaktivieren? .. mehr auf http://w-w-w.ms/a4f32l

Salu zusammen,

ich habe eine vor Matrixformeln mit Bezügen zu anderen Dateien strotzende Mappe. Sie zu öffnen dauert wegen der automatischen Neuberechnung etwa vier Minuten (dabei bricht die Berechnung bei etwa 25 % ab und beginnt erneut). Natürlich kann ich das verhindern, in dem ich die automatische „Arbeitsmappenberechnung“ deaktiviere, doch das wirkt sich dann gleich auf alle Mappen aus. Und noch ärgerlicher: die automatische Berechnung läßt sich nur dann (de)aktivieren, wenn bereits eine Datei geöffnet ist.

Folgendes Makro hilft auch nicht, da es erst nach der initialen Berechnung ausgeführt wird:

Private Sub Workbook\_Open()
 Application.Calculation = xlCalculationManual
 foo = MsgBox("Die automatische Berechnung der Zellinhalte wurde deaktiviert.", \_
        vbExclamation, "Zellberechnung deaktiviert")
End Sub

Gibt es eine Möglichkeit, die automatische „Arbeitsmappenberechnung“ pro Mappe zu deaktivieren?

Bestliche Grüße
-Rob.

P. S.: Bin hier mit Excel 2007 unterwegs.

Re: Excel: Automatische Berechnung pro Mappe deaktivieren? … mehr auf http://w-w-w.ms/a4f32l
hallo Rob
ich hatte 2004 das gleiche Problem.

Die Frage:
ist es möglich die automatische Berechnung Blattweise zu steuern?

[oder das] …die manuelle Neuberechnung [F9] Blattweise ausgeführt werden können.[Schaltfläche?]

Versuche es daher mal mit Umschalt+F9

Dort habe ich es mit der Hilfe hier im Forum anders herum gelöst.
Die automatische Berechnung deaktiviert;
In den Tabellenblättern die automatisch berechnet werden sollen ein Makro eingefügt.
Mal schauen ob der Link aus dem Archiv funktioniert:Klick mich

  • Berechnung auf [x]Manuell stellen und die Mappe speichern
  • Rechtsklick auf den Reiter des zweiten Tabellenblattes und ‚Code anzeigen‘ wählen
  • In dieses neu geöffnete Fenster kopierst Du die nten stehenden Zeile 1:1
  • Anschliessend mit ALT+Q den VBA-Edirot wieder schliessen
  • Mappe erneut speichern

Nun wird beim Aktivieren des zweiten Tabellenblattes sowie nach jeder Eingabe darauf dieses neu berechnet.

Hier noch die Code-Zeilen dazu:

Option Explicit

Private Sub Worksheet_Activate()
Me.Calculate
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Me.Calculate
End Sub

Gruß Holger

Re: Excel: Automatische Berechnung pro Mappe deaktivieren? … mehr auf http://w-w-w.ms/a4f32l
Hallo Rob,

Salu zusammen,

Ui, ja wäre mal interessant alle hier zusammen in Salu, da könnte man einiges klären falls nötig :smile:)

ich habe eine vor Matrixformeln mit Bezügen zu anderen Dateien
strotzende Mappe. Sie zu öffnen dauert wegen der automatischen
Neuberechnung etwa vier Minuten (dabei bricht die Berechnung
bei etwa 25 % ab und beginnt erneut).

Einige (oder alle?) Matrixformeln sind grottenlangsam bei großen Datenmengen, das sage nicht ich sondern die drei netten Typen von http://excelformeln.de/uberuns.html , mit Hilfsspalten zu arbeiten ist schneller.

Gibt es eine Möglichkeit, die automatische
„Arbeitsmappenberechnung“ pro Mappe zu deaktivieren?

Ja, je nach Sachlage für dich nutzbar. Das geht mit einem Klassenmodul in deiner Personl.xlsm. Der Code im Klassenmodul reagiert auf jedes Mappenöffnen und kann bestimmte Dinge deaktivieren.

Allerdings, *zugeb*, weiß ich nicht genau ob der Klassenmodul-Code der Erste ist der agiert oder die Neuberechnungsanweisung beim Mappenöffnen in der Mappe.
Aber das kann ich ja testen, soll ich?

Dann ist da noch ein Problem, bei welchen Mappen soll der Klassenmodul-Code eingreifen. Bei allen Mappen die geöffnet werden? Kaum sinnvoll *glaub*
Wie also kann der Code diese speziellen Mappen erkennen? Am Namen?, am Verzeichnis? An etwas im Mappeninhalt?

Gruß
Reinhard

… ist offenbar nicht möglich.
Servus Reinhard,

Ui, ja wäre mal interessant alle hier zusammen in Salu, da
könnte man einiges klären falls nötig :smile:)

!?

ich habe eine vor Matrixformeln mit Bezügen zu anderen Dateien
strotzende Mappe. Sie zu öffnen dauert wegen der automatischen
Neuberechnung etwa vier Minuten (dabei bricht die Berechnung
bei etwa 25 % ab und beginnt erneut).

Einige (oder alle?) Matrixformeln sind grottenlangsam bei
großen Datenmengen, das sage nicht ich sondern die drei netten
Typen von http://excelformeln.de/uberuns.html , mit
Hilfsspalten zu arbeiten ist schneller.

Ja, ich weiß. Aber in diesem Fall sind es viele Bezüge zu geschlossenen Mappen, die sich nicht so häufig ändern; aktualisieren ist also nur selten nötig.

Gibt es eine Möglichkeit, die automatische
„Arbeitsmappenberechnung“ pro Mappe zu deaktivieren?

Ja, je nach Sachlage für dich nutzbar. Das geht mit einem
Klassenmodul in deiner Personl.xlsm. Der Code im Klassenmodul
reagiert auf jedes Mappenöffnen und kann bestimmte Dinge
deaktivieren.

Allerdings, *zugeb*, weiß ich nicht genau ob der
Klassenmodul-Code der Erste ist der agiert oder die
Neuberechnungsanweisung beim Mappenöffnen in der Mappe.
Aber das kann ich ja testen, soll ich?

Nein, das ist nicht die elegante Lösung, die ich suche. Da die fragliche Mappe von vielen Benutzt und geöffnet werden soll. Und nach dem Desaster mit dem nicht funktionierenden „Vertrauenswürdige Speicherorte im Netzwerk zulassen (nicht empfohlen)“-Schalter und den omnipräsenten und kaum zu bändigenden Restriktionen zu Makros (will Microsoft die rausekeln?) möchte ich hier ohne derartigen Aufwand (PERSONAL.XLSB distributen) auskommen. Ganz lieben Dank aber für Dein Test-Angebot. Finde ich toll von Dir! :smile:

Dann ist da noch ein Problem, bei welchen Mappen soll der
Klassenmodul-Code eingreifen. Bei allen Mappen die geöffnet
werden? Kaum sinnvoll *glaub*
Wie also kann der Code diese speziellen Mappen erkennen? Am
Namen?, am Verzeichnis? An etwas im Mappeninhalt?

Es würde über den Dateinamen laufen. Ich etabliere gerade eine Config.xlsm, in der diverse Einstellungen von allen erreicht werden können. Doch auch das wird von den „Sicherheitseinstellungen“ erschwert. Ich hatte auf eine mir unbekannte Funktion gehofft, mit der diesem Problem begegnet werden kann. Aber es scheint keine zu geben.

Bestlichen Dank für Deine Hilfe und Deine Ideen. Einen schönen vierten Advent wünscht
-Rob.

…ist offenbar nicht möglich. May be or not
Hallo Rob,

Ui, ja wäre mal interessant alle hier zusammen in Salu, da
könnte man einiges klären falls nötig :smile:)

!?

sorry, konntest du nicht verstehen :frowning: Mir fiel das spontan ein als ich von dir las:
Salu zusammen.

Da ich demnächst in dieser Klinik für locker 2 Monate sein werde „deutete“ ich deine Anrede als „Wir zusammen in Salus“ *grien* und antwortete dementsprechend.
Naja, halt meine Art von Humor :smile:
Warum ich dorthin gehe und das auch sehr will spielt ja wohl keine Rolle.

ich habe eine vor Matrixformeln mit Bezügen zu anderen Dateien
strotzende Mappe. Sie zu öffnen dauert wegen der automatischen
Neuberechnung etwa vier Minuten (dabei bricht die Berechnung
bei etwa 25 % ab und beginnt erneut).

Einige (oder alle?) Matrixformeln sind grottenlangsam bei
großen Datenmengen, das sage nicht ich sondern die drei netten
Typen von http://excelformeln.de/uberuns.html , mit
Hilfsspalten zu arbeiten ist schneller.

Ja, ich weiß. Aber in diesem Fall sind es viele Bezüge zu
geschlossenen Mappen, die sich nicht so häufig ändern;
aktualisieren ist also nur selten nötig.

Okay, was bewirkt dann dieses 4 min Delay? Über welche Größenordnung von Bezügen reden wir überhaupt, 100, 1000, 10000, 100000,… ?

Gibt es eine Möglichkeit, die automatische
„Arbeitsmappenberechnung“ pro Mappe zu deaktivieren?

Ja, je nach Sachlage für dich nutzbar. Das geht mit einem
Klassenmodul in deiner Personl.xlsm. Der Code im Klassenmodul
reagiert auf jedes Mappenöffnen und kann bestimmte Dinge
deaktivieren.

Nein, das ist nicht die elegante Lösung, die ich suche. Da die
fragliche Mappe von vielen Benutzt und geöffnet werden soll.

Was suchste denn? Solche Klassenmodule können auch außer personl.xlsm in einem Add-In stehen, oder in deiner Config.xlsm, wenn die im Zusatzstartordner steht.
Viele User greifen auf diese Datei zu, also Netzwerk, also gibts einen Obermufti für das Netzwerk. Kann der nicht mit seinen Rechten bei allen Usern auf die Eintragung eines Zusatzordners einwirken, oder die personl.xlsm jedes Users um die neuen Makros erweitern?

möchte ich hier ohne derartigen Aufwand
(PERSONAL.XLSB distributen) auskommen.

Naja, was du möchtest interessiert deinen PC, Excel usw. überhaupt nicht.
Die Software erwartet z.B. bei Makros genauen Code den sie dann auch umsetzt.
Dein Wunsch, dein Möchten wird dann erfüllt wenn du den richtigen Code, die richtigen Formeln benutzt hast.

Insofern sehe ich da keine Probleme wenn der Admin bei jedem User z.B. dessen personl.xlsm manipuliert oder eine xlam einbaut oder das mit dem Zusatzordner…

Wie also kann der Code diese speziellen Mappen erkennen? Am
Namen?, am Verzeichnis? An etwas im Mappeninhalt?

Es würde über den Dateinamen laufen.

Machbar.

PS: Alles was ich schrieb ist nur meine Ansicht was alles machbar ist. Es bedeutet nicht daß ich das im Rahmen dieses Forums (Bezahlung) auch einfach so codiere.

Gruß
Reinhard

-Rob.