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

"Automatisches Berechnen" beim Öffnen abschalten

Forumthread: "Automatisches Berechnen" beim Öffnen abschalten

"Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 12:29:34
Ralf-Eckhard
Hallo.
Gibt es per Makro die Möglichkeit das Automatische Berechnen beim Öffnen der Datei abzuschalten?
Es soll aber nicht grundsätzlich ausgeschaltet sein.
Danke im voraus
Ralf-Eckhard
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 12:37:11
Dr.
Hi,
ins Workbook_Open
Application.Calculation = xlCalculationManual
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 13:32:20
Claus
Und wenn Du diese Zeile in ein Makro dieser Arbeitsmappe namens "auto_open" ganz vorne einfuegst, dann sollte das auch klappen.
EIne andere Methode (nicht per Makro) ist es, die Shift-Taste (Grossschrifttaste) beim oeffnen gedrueckt halten...
Gruss
Claus
Anzeige
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 13:42:56
Nepumuk
Hallo Claus,
das kann per Makro nicht funktionieren, da die Berechnung auch vor einem auto_open -Makro (wobei die nicht mehr verwendet werden sollen {die funktionieren nur noch um abwärtskompatibel zu sein}) abläuft. Das drücken der Shift - Taste beim öffnen bewirkt, dass die Mappe im Entwurfsmodus geöffnet wird. Berechnet wird trotzdem, nur Makros werden unterdrückt.
Gruß
Nepumuk
Anzeige
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 13:55:08
Dr.
Wieder was gelernt! :-)
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 13:08:39
Nepumuk
Hi,
nur wenn du die Mappe per Makro öffnest. Beim öffnen durch einen Doppelklick läuft die Neuberechnung vor jedem Makro.
Gruß
Nepumuk
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 14:49:09
Vliegen
Hallo Nepumuk,
deine Ausführungen zu dieser Frage interessieren mich weil ich gerade über eine ähnliche Fragestellung nachdenke. Daher erlaube ich mir hier mal zwischenzufragen.
Wenn ich das richtig verstanden habe dann läuft beim Öffnen einer Datei die man normal öffnet (also per Explorer oder in Excel Datei öffnen) immer zuerst die Berechnung und dann erst die Makros. Was doch sicherlich dazu führt dass beim Starten großer Datei es recht lange dauert bis der Code des Workbook_Open Ereignisses abgearbeitet wird. Mal angenommen dort steckt eine Anweisung ein bestimmtes Tabellenblatt zu aktivieren dann kann es eine ganze Zeit lang dauern bis dieses Blatt erscheint weil Excel immer erst auf dem Tabellenblatt öffnet das zu letzt verwendet wurde. Im Falle meiner Konstruktion ist das aber unpraktisch :
Um ein Einschalten der Makros zu erzwingen startet die Datei bei aktivierten Makros auf dem korrekten Empfangsblatt. Bei nicht aktivierten Makros aber auf einem anderen Blatt mit einem Vermerk die Makros anzuschalten wobei alle anderen Blätter unsichtbar sind(Code steht in Workbook_BeforeClose der beim Schliessen ausgeführt wird und beim Deaktivieren der Makros). Das ganze klappt wie gesagt gut. Bis auf die Tatsache das immer am beim Schliessen der Datei dieses eine Blatt mit der Fehlermeldung einmal übergangsweise erscheint (aber da die Anwendung gross ist recht lange)und auch am Anfang bis das Workbook_Open Ereignis abgearbeitet wurde.
Nun meine Frage wenn ich das Berechnen erst mal ausschalten könnte ginge es schneller bis das richtige Blatt erscheit oder gibt es da noch andere Mittel und Wege das Fehlermeldungsblatt unsichtbar zu halten wenn die Makros aktiviert wurden.
Den Code aus DieseArbeitsmappe hab ich mal hier kopiert :
'Beim Öffnen der Datei ohne Makros zu aktivieren und (leider auch) beim Verlassen der Datei mit aktivierten Makros

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Feuil As Worksheet
Sheets("ErreureMacros").Visible = xlSheetVisible 'erst Blatt einblenden
Sheets("ErreureMacros").Activate 'dann aktivieren
For Each Feuil In ThisWorkbook.Worksheets 'alle Blätter ausser Fehlermeldungsblatt unsichtbar
If Feuil.Name = "ErreureMacros" Then
Feuil.Visible = xlSheetVisible
Else
Feuil.Visible = xlSheetVeryHidden
End If
Next Feuil
FormImpressum.Show 'Formular mit Autoreninfos anzeigen
'Makro aufrufen um Darstellung des Bildschirmes zuändern
RemettreFormatEcran
'Makro aufrufen um Menuleiste zu normalisieren
Application.CommandBars(1).Reset
'Makro aufrufen um Kontextmenus wieder zugänglich zu machen
RemettreMenuContext
'Einige Bildschirmeinstellungen um ein Verlassen des Fehlermeldungsblattes ohne VBA zu erschweren
With ActiveWindow
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayWorkbookTabs = False
End With
End Sub

'Beim Öffnen der Datei mit aktivierten Makros

Private Sub Workbook_Open()
Dim Feuil As Worksheet
Application.ScreenUpdating = False
'Makroaufrufen um Bildschirmansicht zu ändern (Vollbild)     ModifierFormatagesEcrans
'Makro aufrufen um teile der Menuleiste auszublenden und unzugänglich machen
SupprimerMenus
'Begrüssungsformular einblenden
FormSchemaBiogaz.Show
'Alle Tabellenblätter aussser das mit der Fehlermeldung sichtbar machen
For Each Feuil In ThisWorkbook.Worksheets
If Feuil.Name = "ErreureMacros" Then
Feuil.Visible = xlSheetVeryHidden 'Fehlermeldungsblatt unsichtbar
Else
Feuil.Visible = xlSheetVisible 'übrige Blätter sichtbar
End If
Next Feuil
'Starttabellenblatt aktivieren
Worksheets("Feuille_Encodage").Activate
'Makro aufrufen um bestimmte Bildschirmformate abzustellen (Waagerecht Scroll, Spaltenköpfe und Zeilen-, Registerlaschen, ...)
SupprimerFormatEcran
'Makro aufrufen um Kontextmenus unzugänglich zu machen
SupprimerMenuContext
Application.ScreenUpdating = True
End Sub

Anzeige
AW: "Automatisches Berechnen" beim Öffnen abschalten
21.06.2005 15:32:07
Nepumuk
Hi,
ich benutze in einem solchen Fall eine ganz andere Methode. Die Mappe ist mit einem, den User unbekannten, Kennwort geschützt. Er kann sie also nicht mit einem Doppelklick öffnen. Kann schon, scheitert aber am Kennwort. Dazu bekommt er ein kleines VB Programm das zu einer .EXE kompiliert ist. Nur mit diesem kann er die Mappe öffnen. An das Kennwort, das sich in der .EXE befindet kommt er nicht heran. Die so geöffnete Mappe wird, auch wenn er die Makrosicherheit auf Hoch setzt, garantiert mit aktivierten Makros geöffnet. Das spart den ganzen Umweg mit Tabellen ein- und ausblenden. Außerdem kann ich vor dem öffnen der Mappe z.B. die Berechung und das aktualisieren von Verknüpfungen ausschalten.
Gruß
Nepumuk
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatisches Berechnen beim Öffnen von Excel-Dateien ausschalten


Schritt-für-Schritt-Anleitung

Um die automatische Berechnung in Excel beim Öffnen einer Datei auszuschalten, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Finde Dein Arbeitsblatt:

    • Suche im Projekt-Explorer das Arbeitsblatt (Workbook), in dem Du die automatische Berechnung deaktivieren möchtest.
  3. Füge den Code ein:

    • Wähle das Arbeitsblatt aus und füge den folgenden Code in das ThisWorkbook-Modul ein:
    Private Sub Workbook_Open()
       Application.Calculation = xlCalculationManual
    End Sub
  4. Speichern und Schließen:

    • Speichere Deine Änderungen und schließe den VBA-Editor.
  5. Testen:

    • Öffne die Excel-Datei erneut, um sicherzustellen, dass die automatische Berechnung deaktiviert ist.

Häufige Fehler und Lösungen

  • Fehler: Automatische Berechnung funktioniert nicht
    Lösung: Stelle sicher, dass Du den Code im Workbook_Open-Ereignis eingefügt hast. Wenn Du die Datei manuell öffnest (Doppelklick), wird die Berechnung trotzdem durchgeführt.

  • Fehler: Berechnung dauert lange
    Lösung: Überprüfe, ob Du unnötige Berechnungen in Deinen Formeln hast. Du kannst auch die Berechnung auf einen bestimmten Bereich beschränken mit Application.Calculation = xlCalculationManual.


Alternative Methoden

Es gibt verschiedene Methoden, um die automatische Berechnung in Excel auszuschalten:

  1. Makro-Alternative:

    • Erstelle ein weiteres Makro, das vor dem Öffnen der Datei die Berechnung deaktiviert. Füge dazu den folgenden Code in ein Modul ein:
    Sub Auto_Open()
       Application.Calculation = xlCalculationManual
    End Sub
  2. Shift-Taste drücken:

    • Halte die Shift-Taste gedrückt, während Du die Datei öffnest. Dadurch wird die Datei im Entwurfsmodus geöffnet, und die Makros werden nicht ausgeführt, aber die Berechnung wird trotzdem gemacht.

Praktische Beispiele

  • Beispiel 1:
    Wenn Du ein großes Arbeitsblatt hast, das viele Formeln enthält, und Du möchtest die automatische Berechnung für ein bestimmtes Tabellenblatt ausschalten, kannst Du den folgenden Code verwenden:

    Private Sub Workbook_Open()
      Worksheets("DeinTabellenblatt").EnableCalculation = False
    End Sub
  • Beispiel 2:
    Falls Du die Berechnung nach dem Öffnen der Datei wieder aktivieren möchtest, füge nach dem Deaktivieren den folgenden Code hinzu:

    Private Sub Workbook_Open()
      Application.Calculation = xlCalculationAutomatic
    End Sub

Tipps für Profis

  • Verwende Debugging: Wenn Du Probleme mit der Berechnung hast, nutze die Debugging-Funktionen im VBA-Editor, um den Code Schritt für Schritt zu überprüfen.
  • Setze Berechnung auf manuell: Wenn Du mit großen Datenmengen arbeitest, kann es hilfreich sein, die Application.Calculation-Eigenschaft auf xlCalculationManual zu setzen, um die Berechnungen zu steuern und die Performance zu verbessern.
  • Automatisierung: Du kannst auch ein Skript erstellen, das die Berechnung bei Bedarf automatisiert ein- und ausschaltet.

FAQ: Häufige Fragen

1. Wie kann ich die Berechnung für nur ein Tabellenblatt ausschalten?
Du kannst die Berechnung für ein bestimmtes Tabellenblatt mit dem Code Worksheets("TabellenblattName").EnableCalculation = False ausschalten.

2. Was passiert, wenn ich die automatische Berechnung ausschalte?
Wenn Du die automatische Berechnung ausschaltest, musst Du manuell auf "Berechnen" klicken oder die F9-Taste drücken, um die Formeln zu aktualisieren. Das kann die Performance bei großen Datenmengen verbessern, aber auch dazu führen, dass die Daten nicht immer aktuell sind.

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