Beitrag aus SmartTools Excel Weekly
VBA-Funktionen global verfügbar machen
Excel 365 2024 2021 2019 2016 2013
FRAGE In Ihren Newslettern habe ich schon viele nützliche VBA-Funktionen entdeckt, die ich erfolgreich in meinen Arbeitsmappen einsetze. Dabei stören mich aber zwei Dinge: Zum einen muss ich die VBA-Funktionen in jeder Arbeitsmappe neu einfügen. Und zum anderen muss ich die Arbeitsmappen mit den VBA-Funktionen dann als Makro-Arbeitsmappen (XLSM-Dateien) speichern. In Word gibt es doch auch eine globale Vorlage, deren VBA-Funktionen in allen Dokumenten zur Verfügung stehen, ohne dass ich jedes Word-Dokument als DOTM-Datei speichern muss. Gibt es so etwas nicht auch in Excel?
D. Gensheimer
ANTWORT Der Vorteil bei Word ist, dass die globale Vorlage NORMAL.DOTM quasi ein Programmbestandteil ist. Sollte die globale Vorlage aus irgendwelchen Gründen gelöscht werden, legt Word sie automatisch neu an. Derartiges gibt es in Excel nicht. Excel kennt zwar eine "persönliche Makroarbeitsmappe". Aber die müssten Sie erst selbst über Umwege anlegen und sie wird auch nicht automatisch wiederhergestellt.
Wenn Sie VBA-Funktionen in Excel global verfügbar machen wollen, bietet sich der Einsatz eines Excel-Add-Ins an. Das ist nichts anderes als eine normale Excel-Arbeitsmappe mit Makros, die Sie im Standardordner für Excel-Add-Ins speichern und die Sie automatisch beim Starten von Excel öffnen.
Verwechseln Sie Excel-Add-Ins aber nicht mit Excel-Vorlagen. Vorlagen bestehen meist aus einem oder mehreren Tabellenblättern mit vorgegebenen Eingabefeldern. Die Tabellenblätter von Excel-Add-Ins sind dagegen nicht sichtbar. Add-Ins dienen allein dazu, die darin enthaltenen VBA-Routinen global verfügbar zu machen.
Ein Excel-Add-In erstellen Sie wie folgt:
- Öffnen Sie eine neue leere Arbeitsmappe.
- Drücken Sie Alt + F11, um in die Entwicklungsumgebung zu wechseln.
- Fügen Sie per Einfügen-Modul neue Module ein und geben Sie darin die VBA-Funktionen oder -Prozeduren ein, die Sie global in allen Arbeitsmappen verwenden wollen.
- Kehren Sie mit Datei-Schließen und zurück zu Microsoft Excel zur leeren Arbeitsmappe zurück.
- Drücken Sie F12, um den Speichern unter-Dialog zu öffnen.
- Wählen Sie als Dateityp "Excel-Add-In (*.xlam)" aus und geben Sie im Feld Dateiname eine Bezeichnung Ihrer Wahl ein – beispielsweise "MeineFunktionen".
- Klicken Sie auf Speichern, um das Excel-Add-In zu speichern.
- Damit das Add-In automatisch beim Starten von Excel geladen wird, wählen Sie Datei-Optionen an.
- Im danach angezeigten Dialogfenster wechseln Sie zur Kategorie Add-Ins.
- In der rechten Fensterhälfte aktivieren Sie unten im Dropdownfeld Verwalten den Eintrag "Excel-Add-Ins". Danach klicken Sie rechts daneben auf die Schaltfläche Los bzw. Gehe zu.
- Im danach angezeigten Dialogfenster setzen Sie ein Häkchen neben dem Namen, den Sie Ihrem Add-In zugewiesen haben – im Beispiel "MeineFunktionen".

- Bestätigen Sie die Auswahl mit Ok.
- Beenden Sie Excel und starten Sie das Programm neu.
Alle VBA-Funktionen aus dem Add-In können Sie nun pauschal in allen Arbeitsmappen verwenden, ohne dass Sie diese als Makro-Arbeitsmappen (XLSM-Dateien) speichern müssen.
Das gilt allerdings nur auf Ihrem PC. Wenn Sie eine XLSX-Datei weiterleiten, funktionieren die darin enthaltenen benutzerdefinierten VBA-Funktionen nicht, es sei denn, Ihr Excel-Add-In (Ihre XLAM-Datei) ist auch auf dem anderen PC aktiviert.