Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatische Berechnung abschalten

Forumthread: Automatische Berechnung abschalten

Automatische Berechnung abschalten
27.11.2006 17:54:16
Peter Schilling
Hallo Excelfreunde
kann mann die atomatische Berechnung in Excel für einzelne Tabellenblätter per Makro oder mit einer anderen Metode abschalten.
Es soll nicht generell über Extras-Optinen alles abgeschaltet werden.
Für Hilfe währe ich sehr dankbar. :-)
Gruß Dieter
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Berechnung abschalten
27.11.2006 17:55:35
Gerd
Hi,
das kannst du mit dem Rekorder aufzeichnen.
mgf Gerd
AW: Automatische Berechnung abschalten
27.11.2006 17:59:59
Peter Schilling
Hallo Excelfreund
sorry, aber ich verstehe nicht wie du das meinst.
Es sollen sich 3 von 14 Tabellenblätter nicht automatisch aktualisieren/neu berechnen.
Gruß Dieter
AW: Automatische Berechnung abschalten
27.11.2006 18:10:47
Heribert K
Hallo Peter oder Dieter oder ???
dann bau doch in den besagten Tabellenblättern ins Ereignis
Activate und Deactivate der TB diese Anweisungen ein.
Application.Calculation = xlCalculationManual (Berechnung aus)
Application.Calculation = xlAutomatic (Berechnung an)
Ähnliches hätter der Makrorekorder auch aufgezeichnet.
Das sollte helfen.
Gruss
Heribert K
Anzeige
AW: Automatische Berechnung abschalten
27.11.2006 19:34:45
Peter Schilling
Hallo Excelfreunde
danke für die Informationen und die Hilfe.
So geht es einigermaßen.
Aber mein Problem ist damit nicht gelöst.
Tätige ich in einer anderen Tabelle eine Aktion zB Sortieren, dann sind die Werte der Verknüpfung in den anderen Tabellen nicht mehr da.
Ich muss dann wieder manuell Aktualisieren. Und das nervt auf dauer.
Gruß Dieter
Anzeige
AW: Automatische Berechnung abschalten
27.11.2006 22:53:37
Fred
Hi,
das hat mit deinem erstem posting 0 zu tun, stell die Frage mit geänderter
Anforderung neu.
mfg Fred
AW: Automatische Berechnung abschalten
27.11.2006 22:55:43
Matthias G
Hallo Dieter,
ein Arbeitsblatt hat die Eigenschaft .EnableCalculation, du kannst diese für die gewünschten Blätter auf False stellen.
Aber die Eigenschaft wird beim Öffnen der Mappe immer wieder auf True gesetzt, d.h. du musst es z.B. über das Workbook_Open-Ereignis jedesmal neu auf False setzen.
Gruß Matthias
Anzeige
AW: Automatische Berechnung abschalten
28.11.2006 17:19:58
Peter Schilling
Hallo Excelfreunde
danke für euere Mithilfe. (Auch Fred für den Hinweis)
Hallo Matthias mit deiner info komme ich nicht richtig weiter.
Bedenke das ich Makros nur mit dem Rekorder erstellen kann.
Ich habe folgenden Link in einer Tabelle stehen.
=BEREICH.VERSCHIEBEN('E:\7626\[Mittelwerte.xls]Tabelle1'!$P12;0;TEIL(ZELLE("Dateiname";A9);FINDEN("[";ZELLE("Dateiname";A9))+1;2)+1)
Damit werden Werte aus einer anderen Datei übernommen.
Wechsele ich das Tabellenblatt und gehe zurück, sind die Werte nicht mehr da.
Ich muss dann aktuallisieren und das nervt.
Es sollen nur einfach die Werte auf den Tabellenblättern erhalten bleiben auch wenn ich in einer anderen Tabelle (Die selbe Datei) eine Aktion ausführe. (Aktion zB sortieren oder von eins ins andere Tabellenblatt wechsele)
Gruß Dieter
Anzeige
AW: Automatische Berechnung abschalten
28.11.2006 18:10:56
Matthias G
Hallo Dieter,
also ich kann dir ein Makro schreiben, das beim Öffnen der Mappe die Berechnung für bestimmte Blätter abschaltet:
Ins Modul "DieseArbeitsmappe":

Private Sub Workbook_Open()
Me.Worksheets("Tabelle1").EnableCalculation = False
Me.Worksheets("Tabelle3").EnableCalculation = False
End Sub

Die Frage ist noch, wie du die Blätter dann berechnen willst. Ich schlage dir vor, auf jedem betreffenden Blatt einen CommandButton mit der Symbolleisten-Schalfläche zu erzeugen und diesen Code zuzuweisen:
Ins jeweilige Tabellenblattmodul:

Private Sub CommandButton1_Click()
Me.EnableCalculation = True
Do
DoEvents
Loop Until Application.CalculationState = xlDone
Me.EnableCalculation = False
End Sub

Das Drücken des Buttons löst dann eine Neuberechnung des Blattes aus.
Gruß Matthias
Anzeige
AW: Automatische Berechnung abschalten
28.11.2006 20:34:21
Peter Schilling
Hallo Excelfreund
sorry aber das ist mir alles zu hoch.
Ich weiß im Moment nicht mehr wo mir der Kopf steht.
Alles was ich probiere scheint nichts zu bringen.
Wenn ich das Blatt wechsele oder in der Eingabe nur eine andere Zelle anklicke, dann sind die Werte in den 3 anderen Tabellen nicht mehr da.
Wenn du Lust und Zeit hast, baue mir die Änderung doch bitte in die Datei 11.xls ein.
Ich lade mal die beiden Dateien hoch.
Hier sind die Fehlermeldung und die fehlenden Bezüge (Außer Spalte B in Tab 01-15, 16-31 und 01-31 ) zu ignorieren.
https://www.herber.de/bbs/user/38594.xls

Die Datei https://www.herber.de/bbs/user/38595.xls wurde aus Datenschutzgründen gelöscht

Gruß Dieter
Anzeige
AW: Automatische Berechnung abschalten
28.11.2006 20:56:21
Matthias G
Hallo Dieter,
mir ist das aber auch zu hoch...
Erst sagst du es seien 3 von 14 Blättern in einer Mappe, nun schickst du 2 Mappen eine mit einem Blatt, eine mit 4 Blättern, die Mappe 11.xls wurde natürlich durch das hochladen umbenannt,...
Ich lade dir jetzt auch eine Datei hoch, in der ich meine Lösung verwirklicht habe:
https://www.herber.de/bbs/user/38596.xls
Gruß Matthias
P.S.:
Deine Abfrage in Workbook_Open:

If LCase(wkb.Name) = "Mittelwerte.xls" Then

kann nie wahr werden, denn LCase(...) ist höchstens "mittelwerte.xls".
außerdem kommt beim Öffnen der Mappe der Fehler "Variable nicht deklariert" bei bStopRun = False
Anzeige
AW: Automatische Berechnung abschalten
28.11.2006 21:24:19
Peter Schilling
Hallo Excelfreund
"""Erst sagst du es seien 3 von 14 Blättern in einer Mappe, nun schickst du 2 Mappen eine mit einem Blatt, eine mit 4 Blättern, die Mappe 11.xls wurde natürlich durch das hochladen umbenannt,..."""
Ja Original sind es 3 von 14 Tabellenblätern. Die kann ich wegen der Größe nicht hochladen.
Das ist jetzt die mit 4 Blätern. (Mappe 11.xls alias 38595)
Diese Mappe aktualisiert sich aus Mappe Mittelwerte (Mappe 38594)
Gehe ich zB in 38595 auf eine andere Zelle und dann zurück auf 01-15, 16-31 oder 01-31 sind die Werte aus der Verknüpfung in den Spalten B nicht mehr da und ich muss aktualisieren oder die Datei neu öffnen.
In diese Tabellenblättern liegt noch ein Code der die tabelle an den Bildschirm anpasst, sodass auch bei einem Blattwechsel die Werte nicht vorhanden sind.
Fehlermeldung:
Die Fehlermeldung soll ignoriert werden, da ja die dazu gehörenden Makros fehlen.
Mir ging es nur um die Erhaltung der einmal aktualisierten Werte in den letzten 3 Tabellen.
Sämtlicher Code für diese Dateien habe ich hier aus dem forum erhalten. (Mit anleitung usw)
Diene Datei funktioniert, aber das Hilft mir als Laie nicht sehr viel weiter.
Gruß Dieter
Anzeige
AW: Automatische Berechnung abschalten
28.11.2006 21:39:36
Matthias G
Hallo Dieter,
aber die Mappe ist in der hochgeladenen Form nicht startbar. Es läuft eine Endlosschleife durch, in der andeuernd die Datei "Mittelwerte.xls" (ich habe die Dateien umbenannt) geladen wird.
Ich habe ehrlich gesagt keine Lust, die Datei erst groß zu bearbeiten, damit ich sie anpassen kann. Und wer weiß, da in der hochgeladenen Version sowieso einiges Fehlt (siehe Fehermeldung am Anfang) kann ich ja nicht mal sicher sein, dass die fertige Version dann auch läuft.
Sorry, ist mir zu aufwendig. Viel leichter ist es zu lernen, wie man ein paar Codezeilen in der Workbook_Open()-Prozedur ergänzt, sowie Commandbuttons auf Blättern erzeugt und ihnen einen Code zuweist. ;-)
Gruß Matthias
Anzeige
OK ich gebe an dieser Stelle auf
28.11.2006 21:57:36
Peter Schilling
Hallo Matthias
ich muss an dieser Stelle passen.
Bei jedem Blattwechsel neu zu aktualisieren ist schon sehr nervig aber ist für mich wohl nicht änderbar ohne "Fremde" Hilfe.
Aber ich kann leider nicht die komplette Datei wegen der Größe hochladen.
Ich danke dir trotzdem für deine Hilfe und Lösungsvorschläge.
Gruß Dieter
Anzeige
AW: OK ich gebe an dieser Stelle auf
28.11.2006 22:06:22
Matthias G
Hallo Dieter,
Bei jedem Blattwechsel neu zu aktualisieren ist schon sehr nervig ...
Also mein Vorschlag war, bestimmte Blätter von der Berechnung auszunehmen und auf diese Blätter einen Commandbutton zu stellen, mit dem man die Blätter dann "manuell" aktualisieren kann. Wenn du die Seiten "jedes Mal" aktualisieren willst, dass lass halt alles, wie es ist...
Wahrscheinlich habe ich dein Grundproblem überhaupt nicht verstanden.
Schaf' mal drüber und stell' das Problem dann neu ein, aber verweise auf diesen Thread, sonst machst du einige Leute böse ;-)
Versuche aber, das Problem neu zu beschreiben, den Beitrag kopieren wird nicht weiterhelfen. Denk' dran, dass ein nichtwissender potenzieller Antworter wissen soll, worum es dir geht.
Tut mir leid, dass ich dir heute nicht weiterhelfen konnte.
Gruß Matthias
Anzeige
neuer Versuch
29.11.2006 19:25:50
Peter Schilling
Hallo Excelfreunde
ich möchte noch mal erklären was ich eigendlich haben möchte oder was mein Problem ist.
Durch das ganze Schreiben bin ich wohl etwas durch einander gekommen.
Ich habe hier 2 Dateien hochgeladen.
Die Datei 12neu.xls aktualisiert sich aus der Datei Mittelwerte.
Dazu wird beim Öffnen der Datei 12neu die Datei Mittelwerte kurz geöffnet und wieder geschlossen.
Die Aktualisierung erfolgt in den Tabellen 1 bis 3 in den Spalten B.
(Normales Fehlerbild letztes Quartal)
Das Problem ist nun:
Wenn ich in Tab "Eingabe" irgendeine Zelle anklicke oder auch nur das Tabellenblatt wechsele, sind die Werte in den Tabellenblätter 1 bis 3 nicht mehr da.
Das soll so nicht sein.
Ich muß dann in den Tabellenblättern 1 bis 3 in A1 aktualisieren.
(Hierfür habe ich extra einen Button "Aktualisieren" erstellt. Hier aus dem Forum)
So meine Frage:
Wie kann ich verhindern, dass die Werte nicht mehr da sind und ich dann jedesmal aktualisieren muss.
Wenn Lösungen gegeben werden, dann bitte so das ich sie als Anfänger auch umsetzen kann.
Ich würde mich über Lösungen und mithilfe sehr freuen.
Gruß Dieter
https://www.herber.de/bbs/user/38622.zip
Anzeige
zu
30.11.2006 21:42:12
zu
zu
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatische Berechnung in Excel für Tabellenblätter abschalten


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der Du die automatische Berechnung für ein bestimmtes Tabellenblatt ausschalten möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge folgenden Code in das Modul "DieseArbeitsmappe" ein:

    Private Sub Workbook_Open()
       Me.Worksheets("Tabelle1").EnableCalculation = False
       Me.Worksheets("Tabelle3").EnableCalculation = False
    End Sub
  4. Erstelle einen CommandButton auf dem gewünschten Blatt, um die Berechnung manuell zu aktivieren:

    Private Sub CommandButton1_Click()
       Me.EnableCalculation = True
       Do
           DoEvents
       Loop Until Application.CalculationState = xlDone
       Me.EnableCalculation = False
    End Sub
  5. Speichere die Datei und schließe den VBA-Editor.

  6. Teste die Änderungen, indem Du das Arbeitsblatt wechselst und überprüfst, ob die Werte erhalten bleiben.


Häufige Fehler und Lösungen

  • Excel aktualisiert nicht automatisch: Stelle sicher, dass die EnableCalculation-Eigenschaft korrekt gesetzt ist. Überprüfe den Code im Workbook_Open()-Ereignis.

  • Formeln aktualisieren sich nicht: Wenn Du in einer anderen Tabelle eine Aktion ausführst, kann es sein, dass die Verknüpfungen neu gesetzt werden müssen. Achte darauf, wie und wann die Aktualisierung erfolgt.

  • Fehlermeldungen beim Öffnen: Achte darauf, dass alle Variablen korrekt deklariert sind, um Fehler zu vermeiden.


Alternative Methoden

  1. Manuelle Berechnung aktivieren: Du kannst die automatische Berechnung in Excel ganz abschalten und die Berechnung manuell durchführen, wenn Du das möchtest. Gehe zu Formeln > Berechnungsoptionen und wähle Manuell.

  2. VBA-Optionen nutzen: Verwende Befehle wie Application.Calculation = xlCalculationManual, um die Berechnung für die gesamte Arbeitsmappe auszuschalten und spezifische Blätter manuell zu steuern.


Praktische Beispiele

  • Beispiel für das Deaktivieren der Berechnung: Wenn Du ein Tabellenblatt hast, das Daten aus einer externen Quelle bezieht, kannst Du die automatische Aktualisierung deaktivieren, um die Performance zu verbessern. Nutze dazu den oben genannten VBA-Code.

  • Beispiel für das manuelle Aktualisieren: Erstelle einen Button auf dem Blatt, der beim Klicken alle erforderlichen Berechnungen ausführt, um die gewünschten Werte anzuzeigen, ohne die automatische Berechnung zu aktivieren.


Tipps für Profis

  • Nutze die Excel VBA-Dokumentation: Sieh Dir die offizielle Dokumentation an, um mehr über Eigenschaften wie .EnableCalculation zu erfahren und die Möglichkeiten optimal auszuschöpfen.

  • Verwende Debugging-Tools: Wenn Du komplexe Makros schreibst, nutze die Debugging-Tools im VBA-Editor, um Fehler schneller zu finden und zu beheben.

  • Optimiere die Performance: Wenn Du häufig zwischen Blättern wechselst und die Berechnung störend ist, erwäge, die Berechnung nur bei Bedarf auszuführen, anstatt sie ständig zu aktivieren.


FAQ: Häufige Fragen

1. Wie kann ich die automatische Berechnung für ein Tabellenblatt ausschalten?
Du kannst die automatische Berechnung für ein spezifisches Tabellenblatt mit dem VBA-Code Me.Worksheets("Blattname").EnableCalculation = False ausschalten.

2. Was passiert, wenn ich die Berechnung für ein Blatt ausschalte?
Die Werte auf diesem Blatt bleiben unverändert, selbst wenn Du in anderen Blättern Änderungen vornimmst. Um die Berechnung wieder zu aktivieren, musst Du dies manuell tun.

3. Kann ich die automatische Berechnung für mehrere Blätter gleichzeitig ausschalten?
Ja, Du kannst mehrere Blätter in der Workbook_Open()-Prozedur mit dem entsprechenden Code angeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige