114298

Beim öffnen aktualisieren verhindern

Hallo zusammen,

ich habe da ein kleines Problem und ich hoffe ihr könnt mir helfen face-smile

Ich habe eine riesige Exceldatei mit ziemlich vielen Formeln (Mit den Formeln hole ich Daten aus einer Datenbank).
Beim Öffnen der Datei rechnet Excel erst einmal eine ganze weile.
Wie kann ich das am besten abstellen?

Private Sub Workbook_Open()

Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False

EndSub

...funktioniert leider nicht bzw. nur wenn die Datei schon geöffnet ist :/


Grüße
Memo
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 234324

Url: https://administrator.de/forum/beim-oeffnen-aktualisieren-verhindern-234324.html

Ausgedruckt am: 14.05.2025 um 11:05 Uhr

Meierjo
Meierjo 03.04.2014 um 08:38:21 Uhr
Goto Top
Hallo Memo66

Und wenn du den Code in ein Auto open schreibst??

Sub auto_open()
Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False
End Sub

Gruss meierjo
114298
114298 03.04.2014 um 09:36:58 Uhr
Goto Top
Hi meierjo,

vielen Dank für deine Rückmeldung.

Das ding ist, wenn ich die Datei öffne, wird das Blatt nicht vollständig angezeigt und unten rechts sehe ich wie Excel rechnet.
Wenn ich aber auf irgendeine Zelle klicke, wird das Blatt vollständig angezeigt und auch betriebsbereit.

Grüße
Memo
Meierjo
Meierjo 03.04.2014 um 09:50:41 Uhr
Goto Top
Hallo

Wenn ich aber auf irgendeine Zelle klicke, wird das Blatt vollständig angezeigt und auch betriebsbereit.

Heisst das, dass wen du währen dem Berechnungsvorgang in eine Zelle klickst (zB A1), das Blatt erst vollständig anzeigt wird?
Wie gross ist die Datei?
Wieviele Zellen sind befüllt?
Was heisst, rechnet eine Weile? Wie lange?
Wie ist der Pc bestückt?
Sind da Makros drin??
Wäre hiflreich, wenn du die Tabelle (zb mit Muster-Daten gefüllt) ins Netz stellen könntest.


gruss meierjo
114298
114298 03.04.2014 um 17:39:13 Uhr
Goto Top
Hi,

-also wenn ich die Datei öffne, sehe ich nur weiße Felder und ich sehe unten rechts wie er rechnet. Wenn ich dann irgendwo reinklicke wird alles korrekt angezeigt und das Sheet ist ready to go.

-Die Datei ist 300KB groß mit 10 Reitern.

-Pro Blatt sind ungefähr 700 Zellen mit Formeln hinterlegt, die Werte aus einem anderen System ziehen.

-Bei fünf Minuten habe ich abgebrochen.

-Es sind Makros drin zum Formatieren ect.
Diese Makros habe ich aber auch in anderen Berichten drin und da läuft alles ohne Probleme.

Meine neuste Erkenntnis ist:
Bis auf ein Blatt habe ich alle Reiter gelöscht und das Problem besteht weiterhin. An der Menge der Daten kann es also nicht liegen zumal ich die Berechnung ja ausschalte.


Grüße
Memo
Meierjo
Meierjo 03.04.2014 um 18:36:54 Uhr
Goto Top
Hallo Memo66

- Also 300Kb ist nicht wirklich gross, hast du dich da verschrieben?? Wenn die Mappe wirklichnur 300 kb ist, stell sie doch ins Netz.
- Wie ziehst du den die Werte aus einem anderen System? Ist das ein anderer PC? Ueber Lan verbunden? Domäne?

Ich würde da mal den Hebel ansetzen. Versuchsweise die Daten, die gezogen werden sollen, auf den selben PC kopieren, und sehen, obs dann schneller wird.

Oder mal die Makros deaktivieren. Sind das Makros, die automatisch neu berechnen, wenn sich in einem Tabellenblatt was ändert? Wenn dem so ist, dann laufen die Makros beim berechnen natürlich ständig durch, dass könnte dann die Performance schon bremsen?

Gruss meierjo
114298
114298 04.04.2014 um 11:16:08 Uhr
Goto Top
Hi meierjo,

die Datei ist wirklich nur 300Kb groß.
Sagt dir IBM Cognos TM1 was? Das ist eine multidimensionale Datenbank. Mithilfe eines Excelplugins kann ich mit Formel Daten in Excel ziehen.
Normalerweise funktionert das auch wunderbar.
Die Datei kann ich leider nicht online stellen, zu sensibel das ganze.

Ich habe das das Problem gefunden weiß aber nicht wie ich das beheben kann.

Wenn ich eine neue Excel Instanz starte, dann ist das auto berechnen an und dadurch dauert das ganze so lange. Ich habe mal folgendes versucht:

Private Sub Workbook_Open()
'
MsgBox ("test")
Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False

End Sub

Damit ich sehe, wann der Code die Autobrechnung auf manuell stellt.

Wenn ich also eine neue Instanz starte, rechnet Excel erst fleißig und dann erst bekomme ich die msgbox angezeigt.

Wenn ich die Datei jetzt schließe und wieder in der selben Instanz öffne, funktioniert alles wunderbar weil ich ja beim ersten öffnen die Autoberechnung auf manuell gesetzt habe.

Gibt es eventuell einen Befehl, der sofort nach dem öffnen greift und dann erst dann die anderen Sachen berechnet?
Oder sollte das 'Workbook_open' eigentlich machen?

Grüße
Memo
Meierjo
Meierjo 04.04.2014 um 11:21:20 Uhr
Goto Top
Hallo

Und wenn du, wie ich 1. Beitrag geschrieben habe, eine auto_open Sub verwendest? Wird dann die MSGBOX vor dem berechnen angezeigt??

Gruss
114298
114298 04.04.2014 um 11:32:29 Uhr
Goto Top
Hi,

dann passiert überhaupt nichts.
Nachdem Excel gerechnet hat, erscheint weder eine MsgBox noch wird die Autoberechnung auf manuell gesetzt.
Meierjo
Meierjo 04.04.2014 um 11:42:08 Uhr
Goto Top
Hallo

Sorry, kann grade keine Bilder hochladen, weiss nicht warum.

Den Sub Auto_open musst du in einem "allgemeinen Modul" platzieren, nicht im Modul "diese Arbeitsmappe"

Gruss