In dieser Anleitung wird erklärt, wie über ein Excel Admin beim Öffnen oder neu erstellen einer Exceldatei automatisch VBA Quelltext ausgeführt wird. Hierfür gibt es sicherlich mehrere Anwendungsbeispiele. In diesem Beitrag, wird über ein Excel-AddIn die automatische Berechnung von Formeln auf Manuell gesetzt. Dazu wird noch der Haken entfernt, dass keine Berechnung durchgeführt wird, wenn die Datei gespeichert wird.
Was wollen wir über den VBA Quelltext steuern ?
Standardmäßig ist bei Excel 2010 oder höher die automatische Berechnung für Formeln aktiviert. Das bedeutet, dass jedesmal wenn sich eine Zahl oder eine Formel ändert, die komplette Excel Arbeitsmappe neu berechnet wird. Dieses hat zur Folge, dass bei großen Excel Arbeitsmappen viel Zeit für die Berechnung drauf geht. Der manuelle Weg um automatische Berechnung zu deaktivieren ist, den Optionen-Dialog über den Hauptmenüpunkt Datei aufzurufen. Dann den Punkt Formeln aufrufen und Sie erhalten das folgende Fenster :
Wird jetzt der Punkt Manuell ausgewählt, werden die Formeln erst berechnet, wenn die Taste F9 gedrückt wird. Und das jedes Mal machen, wenn eine Excel Datei geöffnet wird, kann ziemlich lästig werden.
Ermitteln der VBA Befehle um die manuelle Berechnung zu aktivieren
Es gibt zwei Wege um die Einstellung Arbeitsmappenberechnung über VBA zu verändern. Der erste Weg ist, man schaut in die Hilfe und sucht sich die entsprechenden Befehle raus. Der zweite Weg ist da schon einfacher und geht auch deutlich schneller. Dazu muss der Reiter Ansicht in der Hauptmenüleiste von Excel geöffnet werden. Dort gibt es ganz rechts den Punkt Makros. Hier auf den Pfeil nach unten klicken und den Menüpunkt Makros aufzeichnen auswählen. Nun wird jeder Mausklick und jede Eingabe aufgezeichnet. Jetzt öffnen wir nochmal den Optionen-Dialog und dann den Punkt Formeln. Danach den Punkt Manuell auswählen und den Haken bei dem Punkt „Vor dem Speichern die Arbeitsmappe neu berechnen“ entfernen. Dann sollte folgende Maske auf dem Bildschirm sein :
Als Nächstes klicken Sie noch auf den OK-Button und speichern damit die Einstellung. Nun die Aufzeichnung des Makros stoppen. Dieses funktioniert genau so, wie die Aufzeichnung gestartet wurde. Nun hat Excel den entsprechenden VBA Quelltext generiert und kann über den VBA-Editor angezeigt werden. Dazu muss nur die Tastenkombination ALT+F11 gedrückt werden und das folgende Fenster wird mit dem generierten Quelltext angezeigt :
Nun haben wir alle Befehle und können mit der Erstellung des Excel AddIn fortfahren.
Das Excel AddIn erstellen mit Autostart
Im letzten Punkt wurden alle Befehle ermittelt um die automatische Berechnung auf manuelle Berechnung umzustellen. Dazu muss erstmal eine neue Excel Arbeitsmappe geöffnet werden.
Als nächstes wechseln Sie wieder in den VBA-Editor und wählen im Projekt Manager die neu erstellte Mappe aus. Dann klicken Sie auf Name in dem Eigenschaftsdialog direkt darunter und vergeben einen entsprechenden Namen wie im folgenden Bild :
Nun führen Sie einen Doppelklick auf den Punkt DieseArbeitsmappe unter GeneralSettings (Mappe2) aus. In dem nun erscheinenden Fenster geben Sie den folgenden Quelltext ein :
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_NewWorkbook(ByVal Wb As Workbook) With Application .Calculation = xlManual .CalculateBeforeSave = False End With End Sub
In der ersten Zeile wird die Variable App vom Typ Application erstellt. Durch das Keyword WithEvents kann das Objekt Ereignisse von der Anwendung verarbeiten. In der Funktion Workbook_Open wird die Variable App dem Object Applicationzugeordnet. Eingangs habe ich ja gesagt, dass bei jedem Öffnen einer Excel Arbeitsmappe die automatische Berechnung umgestellt werden soll auf manuelle Berechnung. Das dazugehörige Event heißt NewWorkbook. In der Funktion App_NewWorkbook ist der ermittelte Quelltext aus der Makroaufzeichnung eingefügt. Das bewirkt nun, dass bei jedem Öffnen einer bestehenden oder neuen Excel Arbeitsmappe der Quelltext aus der Funktion NewWorkbook ausgeführt wird.
Nun speichern Sie diese Arbeitsmappe als Excel-AddIn (*.xlam). Dazu klicken Sie einfach auf Speichern im VBA-Editor. In dem nun folgenden Dialog wählen Sie den Dateityp Excel-Add-In aus. Excel wechselt nun automatisch in das Standardverzeichnis für die AddIns. Sie können aber die Datei auch in einem anderen Verzeichnis Ihrer Wahl speichern. Für dieses Beispiel behalte ich das Standardverzeichnis bei. Vergeben Sie noch einen Namen und Speichern Sie die Datei.
Das erstellte Excel AddIn aktivieren
Nun wollen wir das AddIn aktivieren, so dass die Einstellung für die Berechnung bei jedem Öffnen entsprechend angepasst wird. Dazu klicken Sie auf Datei –> Optionen und dann auf dem Punkt Add-Ins. Dann erhalten Sie das folgende Fenster :
Die blau markierte Zeile zeigt schon das erstellte Excel AddIn als Inaktiv. Um das AddIn nun zu aktivieren klicken Sie unten auf den Button Gehe zu…. In dem nun erscheinenden Fenster wird ebenfalls das AddIn in der Liste aufgeführt wie das nächste Bild zeigt :
Die blaue Zeile zeigt wieder das AddIn. Nun setzen Sie den Haken und klicken auf den Button OK. Damit haben Sie das AddIn aktiviert. Damit wir sehen, ob alles richtig gemacht wurde, muss Excel jetzt einmal neu gestartet werden. Wenn Sie nach den Neustart unter Datei –> Optionen –> Formeln nachschauen, sollte Ihr Fenster jetzt so aussehen :
Abschluss
Sollten Sie nicht das abschließende Fenster nach dem Neustart von Excel erhalten, dann gehen Sie bitte nochmal die komplette Anleitung durch und kontrollieren jeden Schritt. Ansonsten haben Sie hier eine Anleitung, die Ihnen hilft auch noch weitere Einstellungen, Optionen und andere Funktionen beim Starten des AddIns einzubauen.
In den Kommentaren können Sie noch weitere Beispiele aufführen, was Sie alles in das AddIn gepackt haben. Für die ganz faulen, gibt es das komplette Beispiel aus der Anleitung noch als Download. Das AddIn funktioniert mit Excel 2010 oder höher.
Das AddIn ist nicht nur für Excel unter Windows sondern funktioniert auch mit Excel 2011 auf dem Mac. Dazu einfach das Excel starten und dann den Menüpunkt Extras –> Add-Ins… auswählen. Nun können Sie über den Button Auswählen die XLAM Datei auswählen und somit das AddIn aktivieren. Hierbei sei aber gesagt, dass nicht alle VBA Befehle von Windows nach Mac übernommen werden können.