Autor: Beate Schmitz  --- Aus Excel VBA - Gruppe: Grundlagen

Makrorekorder - Wie benutze ich ihn

Autor: Beate Schmitz - Erstellt: 2005-07      - Letzte Revision: --
Makroaufzeichung
Welche Möglichkeiten bietet sie und was muss man beachten?

Excel beinhaltet die Möglichkeit, Makros mit dem Makrorekorder aufzuzeichnen. Diese Methode eignet sich besonders für Anfänger aber auch fortgeschrittene Nutzer setzen sie gerne ein, um herauszufinden, welche Objekte, Eigenschaften und Methoden im Code anzusprechen sind.

Es funktioniert in der Art und Weise, dass zwischen Start und Ende der Makroaufnahme alle Aktionen aufgezeichnet werden, die man mit der Tastatur oder der Maus ausführt. Setzt man im Anschluss die Tabelle wieder in den Ausgangszustand zurück und alle Bedingungen sind wie vor der Makroaufzeichnung, dann macht das Makro nach Aufruf genau das, was man aufgezeichnet hat. Makros eignen sich also für Aktionen, die man häufig ausführen muss.

Ich beginne diesen Beitrag mit der Aufzeichnungsbeschreibung. Darunter finden Sie zu möglichen aufkommenden Fragen Erklärungen bzw. Erläuterungen, was Sie beachten müssen, welche Einschränkungen es bei Makroaufzeichnung gibt, welche Alternativen sie haben.

Zuletzt zeige ich Ihnen, wie sie die Symbolleiste "Aufzeichnung beenden" reaktivieren können, wenn diese bei Aufzeichnungsstart nicht anspringt.

Wie zeichnet man ein Makro auf?

  • gehen Sie über Menü > Extras > Makro > Aufzeichnen....
  • die Dialogbox Makro aufzeichnen springt auf
  • geben Sie im Dialogfeld Makroname ihrem Makro einen aussagekräftigen Namen, z.B. Schriftfarbe_blau_aktiver_Bereich, die anderen Voreinstellungen können Sie unverändert so beibehalten
  • Falls Sie eine Tastenkombination zum Makrostart einsetzen möchten, tragen Sie im Dialog den gewünschen Buchstagen ein
  • Im Feld Beschreibung können Sie kurz vermerken, was ihr Makro macht - so behalten Sie später leichter den Überblick ohne sich den Code anschauen zu müssen
  • Wählen Sie dort ebenfalls aus, wo ihr Makro gespeichert werden soll
  • die Makroaufzeichnung starten Sie mit Klick auf den OK-Button
  • damit springt nun die Aufzeichnen-Beenden-Symbolleiste an, über die sie jederzeit die Aufzeichnung beenden können
  • Durch Klick auf das rechte Icon der Aufzeichnen-Beenden-Symbolleiste können Sie steuern, ob ihr Makro relative oder absolute Bezüge haben soll
  • weiterhin wird ab jetzt jede Ihrer Aktionen (bis auf die u.g. Ausnahmen) im Code festgehalten, deshalb gehen Sie bitte besonnen vor
  • Nun führen Sie mit Tastatur oder Maus die Aktionen aus, die Ihr Makro später leisten soll
  • Nach Beendigung dieser Aktionen stoppen Sie die Aufzeichnung durch Klick auf das Aufzeichnen-Beenden-Kästchen links auf der gleichnamigen Symbolleiste
  • Nun können Sie sich das aufgezeichnete Makro anschauen, welches in einem Modul der Datei liegt, an
    Sie erreichen es, indem Sie die Alt+F11-Taste drücken
  • Nun starten Sie Ihr Makro, um es zu testen. Macht es, was es soll, speichern Sie die Datei, die das Makro enthält, ansonsten schließen Sie sie ohne speichern

Folgende Dinge über den Makrorekorder müssen Sie wissen: Dass
  • es Dinge gibt, die Sie nicht aufzeichnen können, wie z.B. den Einsatz einer MsgBox oder Schleifenprogrammierung
  • der aufgezeichnete Code meist ineffizient ist, dies kann durch händische Nachbearbeitung des Codes ausgeglichen werden. Dies ist jedoch nicht Thema dieses Beitrags und setzt fortgeschritteneres Wissen voraus
  • Excel keine Aktionen aufzeichnet, wenn ein Add-In (wie der Solver) verwandt wird. Falls Sie ein leeres Makro nach Ihrer Aufzeichnung erhalten, ist dies wahrscheinlich der Grund
  • alle Zeilen, die vorne ein Hochkomma im Code haben, auskommentiert sind und somit beim Makroablauf nicht abgearbeitet werden. Bei einem aufgezeichneten Makro wird automatisch die Makrobeschreibung auskommentiert. Diese Technik eignet sich also auch, wenn man sich Hinweise in selbstgeschriebene Makros notieren möchte
  • ein Makroname pro Datei nur einmal vorkommen darf und keine Leerzeichen enthalten darf. Wählen Sie statt eines Leerzeichens einen Unterstrich.

Wo können aufgezeichnetete Makros gespeichert werden?

Bevor die Aufzeichnung gestartet wird, werden wir in einem Dialog gefragt, wo wir das Makro speichern wollen. Diese Frage bezieht sich auf die Datei in der es eingefügt werden soll; in der ausgewählten Datei (=Arbeitsmappe) wird es dann von Excel in einem Modul abgelegt. Es werden uns drei Möglichkeiten angeboten:
  • Diese Arbeitsmappe: Damit ist die aktive Datei gemeint, in der wir uns gerade befinden. Wählen wir diese Möglichkeit, wird uns das Makro immer zur Verfügung stehen, wenn diese Datei geöffnet ist.
  • Persönliche Makroarbeitsmappe: Damit ist die Datei personl.xls gemeint, die automatisch beim Excelstart (meist ausgeblendet, das hängt von ihrer Einstellung ab) geöffnet wird. Ein dort gespeichertes Makro ist also jederzeit verfügbar; somit eignet es sich für Makros von allgemeinem Zweck
  • Neue Arbeitsmappe: Entscheidet man sich hierfür, öffnet Excel direkt zu Makrobeginn eine neue und somit leere Arbeitsmappe; dies ist die wohl seltenste Einsatzform bei Makroaufzeichnung, da man ja üblicherweise durch Makros etwas Existentes verändern möchte.
Egal, für welchen Speicherort wir uns entscheiden, dauerhaft erhalten bleibt das Makro natürlich nur, wenn wir die Mappe, in der wir das Makro haben möchten, auch nach Aufzeichnung speichern.

Relative und absolute Aufzeichnung

So, wie Sie aus dem Umgang mit Formeln absolute und relative Bezüge kennen (Guckst Du: Relative und Absolute Bezüge), so können wir bei der Makroaufzeichnung auch steuern, wie Excel das Aufgezeichnete behandeln soll. Einstellen, ob die Bezüge relativ oder absolut sein sollen, können wir nach Makrostart auf der Symbolleiste Aufzeichnung beenden durch Klick auf das rechte Icon mit der Quickinfo Relativer Verweis.

Ein Beispiel, bei beiden Aufzeichnungsmethoden war die aktive Zelle D2 und während der Aufzeichnung wurde in beiden Fällen =B2+C2 in die Zelle eingegeben:
Wir möchten ein Makro aufzeichnen, welches in die aktive Zelle die Formel schreibt =B2+C2, also egal, wo unsere aktive Zelle irgendwann liegt, immer sollen diese beiden Zellen addiert werden. Dann muss die Wahl auf einen absoluten Bezug fallen und das Makro wird so aussehen:
Sub absoluter_Zellbezug()
    ActiveCell.Formula = "=b2+c2"
End Sub


Entscheiden wir uns zu Aufzeichnungsbeginn für die relative Aufzeichnung, dann werden später bei Makroablauf in der aktiven Zelle immer die beiden links von der aktiven Zelle liegenden Zellen addiert:
Sub relativer_Zellbezug()
    ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
End Sub


Es ist also entscheidend, vor Makroaufzeichnung zu wissen und einzustellen, was unser Makro später bewirken soll.


Einem Makro eine Tastenkombination zuweisen

Um das Makro später schnell starten zu können, gibt es verschiedene Möglichkeiten, eine davon ist das Zuweisen einer Tastenkombination. Dies wird uns bereits im Dialogfenster vor Makrostart angeboten. Die Tastenkombination besteht jeweils aus Strg + einem von uns frei wählbaren Buchstaben. Diese Möglichkeit sollte man nur eingeschränkt nutzen, da man sich langfristig diese Kombinationen ja merken muss und es Probleme gibt, falls Dateien geöffnet sind, die gleiche Tastenkombinationen beinhalten.


Wie gelange ich nach Aufzeichnung zu dem aufgezeichneten Makro?

Sie erreichen es, indem Sie die Alt+F11-Taste drücken.


Wie startet man ein aufgezeichnetes Makro?

Voraussetzung ist, dass die Datei, die das Makro enthält, geöffnet ist. Dann kann man,
  • falls zugewiesen, das Makro über die Tastenkombination starten oder
  • man geht über Menü > Extras > Makro > Makros.... (die Tastenkombination Alt+F8 bewirkt das Gleiche), sucht im aufspringen Dialogfenster das Makro durch Anklicken aus (es wird dann blau hinterlegt) und betätigt den Ausführen-Button


Wie testet man ein aufgezeichnetes Makro bevor die Datei gespeichert wird?

Setzen Sie die Datei in den Zustand vor Aufzeichnung zurück und starten Sie Ihr Makro.
  • Wenn das Ergebnis Ihren Wünschen entspricht, speichern Sie die Datei, die Ihr Makro enthält
  • Entspricht das Ergebnis Ihren Wünschen nicht, schließen Sie die Datei ohne Speichern; dies erspart Ihnen das Löschen des Makros sowie das Zurücksetzen der durch das Makro verursachten ungewollten Auswirkungen

Symbolleiste "Aufzeichnung beenden" reaktivieren

Normalerweise springt beim Aufzeichnen eines Makros automatisch die Symbolleiste "Aufzeichnung beenden" an. Diese ermöglicht Ihnen zu steuern, ob Ihr Makro relative oder absolute Bezüge haben soll und jederzeit die Aufzeichnung zu beenden.

Diese Symbolleiste ist also nur temporär beim Aufzeichnen eines Makros sichtbar. Sollte sie aus irgendwelchen Gründen nicht mehr anspringen und Sie möchten sie wiederhaben, dann müssen Sie folgenden Weg beschreiten:
  • öffnen Sie eine neue Datei (die wird nur für den Zweck benutzt und nicht gespeichert)
  • starten Sie eine Makroaufzeichnung, wie oben beschrieben
  • während also die Makroaufzeichnung schon läuft, gehen Sie über Menü > Ansicht > Symbolleisten > Anpassen > Registerblatt Symbolleisten
  • setzen Sie im Dialogfenster einen Haken bei Symbolleisten: Aufzeichnung beenden und schließen das Dialogfenster über die Schaltfläche Schließen
  • sofort erscheint schon die vermisste Symbolleiste und Sie können nun die Makroaufzeichnung über Klick auf das blaue Viereckicon auf der Symbolleiste beenden
  • schließen Sie die Datei ohne Speichern
Ab sofort springt die Symbolleiste bei Makroaufzeichnungen wieder an.
Tipp: Sichern Sie Ihre Symbolleisten wie hier beschrieben: Symbolleisten wiederherstellen



Weitere Artikel der Gruppe: Grundlagen Aus Excel VBA
Nach oben