Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Automatische Berechnung von bestimmten Tabellenblatt aktivieren bzw. deaktivieren
#1
Hallo!

Wie kann ich die automatische Berechnung mittels VBA von einem bestimmten Tabellenblatt deaktivieren bzw. dann auch wieder aktivieren?

LG
Thomas
Excel Version 2016
Antworten Top
#2
Das geht nicht! Die Berechnung lässt sich nur insgesamt (für die komplette Applikation) aus- oder einschalten.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#3
Ginge schon! Wink
Im Workbook_Activate Application.Calculation ausschalten.
Im _Deactivate vice versa.

ABER, und da gebe ich Helmut natürlich Recht:
Wenn Berechnungen im Hintergrund (bei Aktivierung des "falschen" Blatts) auf dem "richtigen" Blatt angestoßen werden, nützt das nüscht.

Man könnte ja erst mal klären, warum Du das überhaupt willst.
Vielleicht fällt uns ja eine andere Variante ein?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Hallo,

ich schmeiß mal ..... in die Runde. Das funktioniert in einer meiner Tabellen. (recht gut)

Sheets("Tabelle(x)").EnableCalculation = True/False
Gruß Dirk
---------------
100  - Wenn du nicht weißt, wo du hin willst, ist es egal, welchen Weg du einschlägst.

Antworten Top
#5
Wow,

was es nicht alles gibt! Allerdings wird damit jegliche Berechnung auf dem Blatt unterdrückt. Also ist auch z.B. kein F9 möglich.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#6
Stimmt, dem wissend, habe ich mir auf dem betroffenen Blatt dafür 2 Schalter gebastelt die farblich den Zustand vors Auge legen,
damit man sich nicht unnütz wundert. 
   
Gruß Dirk
---------------
100  - Wenn du nicht weißt, wo du hin willst, ist es egal, welchen Weg du einschlägst.

Antworten Top
#7
Hallöchen,

man sollte dabei aber berücksichtigen, dass EnableCalculation flüchtig ist und z.B. beim Öffnen der Mappe erst berechnet und dann z.B. das Workbook_Open mit diesem Code ausgeführt wird.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hallo!

Ich würde gerne dieses Thema nochmals aufgreifen.
Wenn ich z.B. nach Private Sub Worksheet_Change den Code 
Code:
Worksheets("Top30 - Teil 1").EnableCalculation = True

ausführe, berechnet er das Tabellenblatt auch.

Wenn aber die letzte Aktion 

Code:
Worksheets("Top30 - Teil 1").EnableCalculation = False

war und ich verlasse die ganze Excel Datei, dann merkt er sich das anscheinend. Somit ist weiterhin die Berechnung für dieses Tabellenblatt deaktiviert.

Nun habe ich mir gedacht, schalte ich die Berechnung für dieses Tabellenblatt beim Öffnen der Datei einfach über

Code:
Private Sub Workbook_Open()

Worksheets("Top30 - Teil 1").EnableCalculation = True

End Sub
 
ein, aber er macht das leider nicht. Auch wenn ich es über Schließen der Datei mache, funktioniert es nicht.

@Schauan: Ist das genau das Problem, was du gemein hast?
Wie könnte ich es trotzdem lösen oder mache ich das was falsch?
Excel Version 2016
Antworten Top
#9
Hallöchen,

wenn Du die Berechnung beim Öffnen der Datei nicht willst, müsstest Du vor Öffnen der Datei die Berechnungsoption auf manuell stellen Sad

- Excel starten, Option Berechnung manuell
- Datei öffnen - bea. ... EnableCalculation=False ... im WorkbookOpen
- Excel Option Berechnung kann wieder auf automatisch gestellt werden
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste