Hallo!
Wie kann ich die automatische Berechnung mittels VBA von einem bestimmten Tabellenblatt deaktivieren bzw. dann auch wieder aktivieren?
LG
Thomas
Das geht nicht! Die Berechnung lässt sich nur insgesamt (für die komplette Applikation) aus- oder einschalten.
Ginge schon!
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?
Hallo,
ich schmeiß mal ..... in die Runde. Das funktioniert in einer meiner Tabellen. (recht gut)
Sheets("Tabelle(x)").EnableCalculation = True/False
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.
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.
[
attachment=47693]
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.
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?
Hallöchen,
wenn Du die Berechnung beim Öffnen der Datei nicht willst, müsstest Du vor Öffnen der Datei die Berechnungsoption auf manuell stellen
- Excel starten, Option Berechnung manuell
- Datei öffnen - bea. ... EnableCalculation=False ... im WorkbookOpen
- Excel Option Berechnung kann wieder auf automatisch gestellt werden