Makros aufrufen – so startest du ein VBA-Makro
Ein aufgezeichnetes oder selbst geschriebenes Makro nützt wenig, wenn du es jedes Mal umständlich suchen musst. Excel bietet mehrere Wege, ein Makro mit einem Klick oder Tastendruck zu starten – von der schnellen Testmethode bis zum automatischen Ausführen beim Öffnen der Datei.
Über das Makro-Dialogfeld
- Tastenkombination Alt+F8 öffnet die Liste aller verfügbaren Makros.
- Makro markieren und auf Ausführen klicken.
Das ist der schnellste Weg zum Testen, aber unpraktisch für den täglichen Gebrauch.
Tastenkombination zuweisen
Öffne Alt+F8 → Makro markieren → Optionen… → im Feld Tastenkombination einen Buchstaben eintragen, z. B. Strg+J. Achte darauf, keine bereits von Excel belegte Kombination zu überschreiben (z. B. Strg+C).
Schaltfläche oder Form zuweisen
- Registerkarte Einfügen → Formen (oder Entwicklertools → Einfügen → Schaltfläche unter Formularsteuerelemente) auf das Blatt zeichnen.
- Rechtsklick auf die Form → Makro zuweisen…
- Gewünschtes Makro auswählen und mit OK bestätigen.
So kann jeder Nutzer der Arbeitsmappe das Makro per Klick auf einen sichtbaren Button starten, ganz ohne VBA-Kenntnisse.
Button in der Schnellzugriffsleiste
Alternativ legst du ein dauerhaftes Icon in der Schnellzugriffsleiste oder im Menüband an, das über alle Arbeitsmappen hinweg sichtbar ist. Details dazu im Beitrag Makro-Schaltfläche einrichten.
Automatisch beim Öffnen der Arbeitsmappe ausführen
Soll ein Makro automatisch starten, sobald die Datei geöffnet wird, nutzt du das Ereignis Workbook_Open. Füge den Code im VBA-Editor in das Objekt DieseArbeitsmappe (ThisWorkbook) ein – nicht in ein normales Modul:
Private Sub Workbook_Open()
Call MeinMakro
End Sub
So wird beim Öffnen automatisch MeinMakro ausgeführt, z. B. um Filter zurückzusetzen oder das Aktualisierungsdatum einzutragen.
Ein Makro aus einem anderen Makro heraus aufrufen
Größere Aufgaben teilst du am besten in mehrere kleine Prozeduren auf und rufst sie nacheinander aus einem Hauptmakro auf:
Sub Hauptablauf()
Call DatenBereinigen
Call BerichtFormatieren
Call AlsPDFSpeichern
End Sub
Das Schlüsselwort Call ist optional – DatenBereinigen allein funktioniert genauso, Call macht den Aufruf im Code aber besser lesbar.
Halte den Namen im Call-Aufruf exakt gleich zur Sub-Definition (Groß-/Kleinschreibung spielt keine Rolle, Tippfehler aber schon) – sonst meldet VBA Sub oder Function nicht definiert.
Häufige Fehler
- Makro wird beim Öffnen nicht ausgeführt – Makros sind über die Sicherheitsleiste deaktiviert; Inhalt aktivieren anklicken.
- Falsches Objekt für Workbook_Open – der Code muss im Modul
DieseArbeitsmappestehen, nicht in einem normalen Modul. - Mehrere Makros mit gleichem Namen – führt beim Zuweisen zu Verwirrung; Namen über Module hinweg eindeutig halten.
- Tastenkombination überschreibt Excel-Funktion – vorher prüfen, ob die Kombination schon belegt ist.