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

Beim öffnen JEDER Excel-Datei Prüfung

Beim öffnen JEDER Excel-Datei Prüfung
20.08.2014 11:36:50
eres
Zunächst mal einen "hochsommerlichen" Gruß ins Forum,
bei knapp 17° Celsius suche im nach einer Lösung für folgendes Problem:
Ich möchte immer dann, wenn eine Excel-Datei geöffnet wird prüfen, ob die _ Arbeitsmappenberechnung auf "automatisch" oder "manuell" steht. Die Abfrage an sich ist kein Problem

if Application.Calculation = xlCalculationManual then

Natürlich könnte ich die Abfrage in jeder Datei in Workbook.open Ereignis ablaufen lassen. Das erfüllt aber nicht meine Anforderung. Ich möchte die Prüfung auch für Dateien haben, die ich von anderen zugesendet bekomme.
Habe schon mal mit code in der personl.xlsb oder code in ein AddIn rumgespielt, aber leider ohne Erfolg.
Hat jemand eine Idee.
Bin für jeden Tipp dankbar.
Gruß
erwin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Vielen Dank Arthur, werde ich mir ansehen. oT
20.08.2014 12:45:24
eres
.

Calculation wird pro Instanz festgelegt - AddIn
20.08.2014 13:04:28
NoNet
Hallo Erwin,
ich vermute mal, dass Du an folgendem Sachverhalt "scheiterst" :
Die Eigenschaft Application.Calculation wird in Excel nicht pro DATEI/Workbook festgelegt, sondern immer für eine komplette Excel-Instanz (daher auch das Objekt Application.Calculation und NICHT Workbook.Calculation !) :
Die erste in Excel geöffnete Datei einer Instanz bestimmt, ob diese Instanz nun automatisch oder manuell berechnet wird. Diese Eigenschaft ist zwar in der Datei mitgespeichert, wirkt sich allerdings auf die komplette Instanz und damit auf alle ebenfalls in dieser Instanz geöffneten Dateien aus ! Ausnahme bilden natürlich die Dateien, in denen der Berechnungsmodus per VBA geändert wird (auch DIES bezieht sich dann wiederum auf alle geöffneten Dateien in der Instanz !).
Beispiele : Auto1.xlsx, Auto2.xls und Auto3.xlsx wurden mit "automatischer Berechnung" gespeichert, Manu1.xlsx und Manu2.xlsx mit "manueller Berechnung".
Startest Du nun Excel und lädst zunächst eine der Dateien "Auto1.xlsx" bis "Auto3.xlsx", so ist die Instanz auf "automatische Berechnung" konfiguriert - und das bezieht sich dann auch auf die nächträglich geladenen Dateien "Manu1.xlsx" und "Manu2.xlsx".
Umgekehrt verhält es sich ebenfalls : Startest Du Excel neu (oder eine neue Instanz) und lädst zunächst "Manu1.xlsx" oder "Manu2.xlsx", so ist die Instanz auf "manuelle Berechnung" konfiguriert und das gilt auch für die nachträglich geöffneten Dateien "Auto1.xlsx" bis "Auto3.xlsx" - es sei denn, ein Makro (auch in einem AddIn) verändert diese Eigenschaft zwischendurch !
Hier mal ein Beispiel-AddIn zum Prüfen und ggf. Anpassen des Berechnungs-Status der Instanz :
https://www.herber.de/bbs/user/92199.xlam
Salut, NoNet

Anzeige
und das dööfste ist, ...
20.08.2014 13:25:40
Rudi
.... dass diese Eigenschaft auch entsprechend in allen WBs gespeichert wird.
ggfs hast du anschließend einen Haufen WBs, die nicht mehr automatisch berechnet werden.
Die erste in Excel geöffnete Datei einer Instanz bestimmt, ob diese Instanz nun automatisch oder manuell berechnet wird.
Fast richtig. Werden alle Dateien (nicht Excel) geschlossen, bestimmt die nächste geöffnete den Berechnungsmodus.
Gruß
Rudi

AW: und das dööfste ist, ...
20.08.2014 13:26:49
eres
Das ist ja alles haesslich ...
Auch dir vielen Dank Rudi.

260 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige