Aufzeichnen eines Excel-Makros

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Oktober 30, 2023

Die Aufzeichnung eines Makros in Excel ermöglicht es Ihnen, mehrere Aktionen in einer einzigen Aktion zu bündeln, was praktisch ist, wenn Sie bestimmte Reihen von Aktionen häufig ausführen. Mit einem Makro können Sie allgemeine kleinere Aufgaben oder ganze Arbeitsabläufe automatisieren.

Die Aufzeichnung eines Makros ist zwar einfach, aber mit ein paar zusätzlichen Kenntnissen darüber, wie die Aufzeichnung funktioniert, und einigen „Best Practices“ können Sie Makros schnell beherrschen und Ihre Produktivität steigern.

Ein Makro aufzeichnen

Um mit der Aufzeichnung eines Makros zu beginnen, klicken Sie auf die Schaltfläche „Makro aufzeichnen“ unten links im Excel-Fenster. Daraufhin wird das Dialogfenster „Makro aufzeichnen“ angezeigt.

excel makro aufzeichner button

Geben Sie im Dialogfeld „Makro aufzeichnen“ Folgendes ein:

excel makro aufzeichner dialogfenster

  • Makroname: Geben Sie einen eindeutigen Namen für Ihr Makro ein, damit Sie es später identifizieren können
  • Tastenkombination (optional): Hier können Sie eine Tastenkombination für die spätere Ausführung des Makros festlegen. Geben Sie ein einzelnes Zeichen ein, um diese Tastenkombination zuzuweisen (am besten verwenden Sie die UMSCHALTTASTE, wenn Sie das Zeichen eingeben, um Konflikte mit anderen Excel-Tastenkombinationen zu vermeiden)
  • Makro speichern in: Hier wird festgelegt, in welcher Arbeitsmappe das Makro gespeichert wird, was sich darauf auswirkt, wie Sie es verwenden können
    • „Diese Arbeitsmappe“ (häufigste Option) bedeutet, dass das Makro nur in der derzeit aktiven Arbeitsmappe verwendet werden kann
    • „Persönliche Makroarbeitsmappe“ macht das Makro jederzeit in jeder Arbeitsmappe verwendbar, indem es in einer versteckten Arbeitsmappe gespeichert wird, die Excel immer offen hat
    • „Neue Arbeitsmappe“ (am wenigsten gebräuchlich) speichert die Makros in einer ganz neuen Arbeitsmappe. Dies ist nützlich, wenn Sie Makros erstellen, die Sie aus irgendeinem Grund nicht in „Diese Arbeitsmappe“ speichern können, d. h. „Diese Arbeitsmappe“ ist eine freigegebene .xlsx-Datei, die Sie nicht als .xlsm speichern können, und die Persönliche Makro-Arbeitsmappe ist nicht für das Makro geeignet

Klicken Sie auf „OK“, um die Aufzeichnung zu starten, und führen Sie dann die Aktionen aus, die Sie aufzeichnen möchten. Wenn Sie fertig sind, klicken Sie erneut auf die Schaltfläche „Makro aufzeichnen“, um die Aufzeichnung zu beenden (das Symbol der Schaltfläche hat sich in ein quadratisches Stoppsymbol geändert)

excel makro aufzeichner stopptaste

Ein Makro bearbeiten

Nachdem Sie ein Makro aufgezeichnet haben, möchten Sie vielleicht den Code anzeigen, um ihn zu bearbeiten. Sie können auf den Code über das Dialogfenster „Makros“ zugreifen, indem Sie die folgenden Schritte ausführen:

  • Wählen Sie die Hauptregisterkarte Ansicht und klicken Sie auf die Schaltfläche „Makros“ (oder klicken Sie auf das Dropdown-Menü und wählen Sie „Makros anzeigen“)

excel makro liste

  • Wählen Sie im Dialogfenster „Makros“ das Makro aus, das Sie anzeigen möchten, und klicken Sie auf „Bearbeiten“

excel makro in liste bearbeiten

Daraufhin wird der VBA-Editor mit dem Mauszeiger auf der ersten Zeile Ihres Makros angezeigt. Von hier aus können Sie den Code bearbeiten, um ihn klarer zu machen, Logik hinzufügen oder unnötigen Code entfernen.

aufgezeichnetes makro in vb editor

Weitere Informationen zur Bearbeitung von Makros finden Sie im Artikel Makros anzeigen und bearbeiten.

Ein Makro ausführen

Sie werden Ihr Makro natürlich irgendwann ausführen wollen. Die allgemeine Methode zur Ausführung eines Makros ist die Verwendung des Dialogfensters „Makros“:

  • Öffnen Sie den Makro-Dialog wie bei der Bearbeitung eines Makros (siehe oben)
  • Wählen Sie im Dialogfenster „Makros“ das Makro aus und klicken Sie auf „Ausführen“

excel makro in liste ausfuehren

Eine bessere Möglichkeit, ein Makro auszuführen, besteht darin, es einer Schaltfläche zuzuweisen.

excel schaltflaeche druecken

Dazu müssen Sie zunächst die Hauptregisterkarte Entwickler zum Menüband hinzufügen. Klicken Sie zunächst auf Datei > Optionen in der Liste am linken Rand vba entwicklertools datei

vba entwicklertools hauptregisterkarte optionen

Wählen Sie im Dialogfenster „Optionen“ die Option „Menüband anpassen“ > „Menüband anpassen“ > „Hauptregisterkarten“, aktivieren Sie das Kontrollkästchen für „Entwicklertools“ und klicken Sie auf OK.

vba entwicklertools hauptregisterkarte aktivieren

Wenn die Hauptregisterkarte Entwicklertools aktiviert ist, können Sie Ihrem Arbeitsblatt eine Schaltfläche wie folgendermaßen hinzufügen:

  • Wählen Sie die Hauptregisterkarte „Entwicklertools“ aus
  • Klicken Sie auf das Dropdown-Menü „Einfügen“ und wählen Sie unter „Formularsteuerelemente“ das Steuerelement „Schaltfläche“ aus

vba entwicklertools schaltflaeche einfuegen

  • Bewegen Sie dann die Maus an eine beliebige Stelle auf dem Arbeitsblatt, halten Sie die linke Maustaste gedrückt und ziehen Sie die Maus, um den Umriss eines Rechtecks zu zeichnen. Wenn Sie die linke Maustaste loslassen, wird ein neues Dialogfenster mit dem Titel „Makro zuweisen“ angezeigt. Wählen Sie Ihr Makro aus und klicken Sie auf „OK“.

vba entwicklertools schaltflaeche erstellen

Jetzt können Sie Ihr Makro mit einem einzigen Mausklick direkt vom Arbeitsblatt aus ausführen!

Weitere Informationen über Excel-Schaltflächen finden Sie in dem Artikel „Hinzufügen einer Schaltfläche und Zuweisen eines Makros in Excel“.

Tipps zur Makroaufzeichnung

Wie Sie sehen, ist es einfach, mit der Aufzeichnung von Makros zu beginnen – Sie können wahrscheinlich sofort einige effektive Makros erstellen, ohne weiterzulesen. Um Makros zu beherrschen, sollten Sie jedoch wissen, wie der Rekorder funktioniert, und dieses Wissen nutzen, um Ihre Aktionen zu planen.

Was aufgezeichnet wird

Excel kann eine ganze Reihe von Aktionen aufzeichnen, mehr als Sie vielleicht denken, und oft mehr als Sie beabsichtigen, wenn Sie nicht aufpassen! Der Makrorekorder zeichnet auf, was Ihre Mausklicks und Tastendrücke bewirken. Wenn Sie bei der Aufzeichnung Fehler machen, kann dies zu seltsamen Verhaltensweisen in Ihrem Makro führen.

Die folgende Liste enthält viele Aktionen, von denen Sie vielleicht nicht erwarten, dass sie aufgezeichnet werden, aber es ist wichtig zu verstehen, wie viel Excel aufzeichnet, damit Sie Ihre Makros besser planen können:

  • Auswählen von Zellen mit der Maus oder der Tastatur (Hinweis: Es wird nur die letzte Auswahl vor einer anderen Aktion aufgezeichnet; d. h. wenn Sie die Zellen A1:C4 und dann die Zelle D1 auswählen, wird nur die Auswahl von D1 aufgezeichnet)
  • Ändern des Textes, der Formel oder der Formatierung von Zellen (bei Text und Formeln werden die Änderungen erst aufgezeichnet, nachdem Sie die Eingabetaste gedrückt haben)
  • Scrollen in einem Arbeitsblatt (jede Zeile/Spalte, die Sie scrollen, wird aufgezeichnet!)
  • Verschieben des Excel-Fensters von einer Position zu einer anderen
  • Aktivieren anderer Arbeitsmappen oder Arbeitsblätter (entweder durch Anklicken mit der Maus oder mit Hilfe von Tastenkombinationen wie STRG + Bild Oben)
  • Hinzufügen, Löschen und Verschieben von Blättern
  • Speichern einer Arbeitsmappe, Öffnen oder Erstellen neuer Arbeitsmappen
  • Ausführen anderer Makros

Alle diese Aktionen können unbeabsichtigte Folgen für Ihre Makros haben. Ein Beispiel: Wenn Sie ein Makro aufzeichnen, das in anderen Arbeitsmappen verwendet werden soll, und versehentlich ein Blatt aktivieren, das in diesen anderen Arbeitsmappen nicht existiert, kann das Makro bei einem erneuten Versuch fehlschlagen!

Was nicht aufgezeichnet wird

Trotz all der Sachen, die Sie (versehentlich) aufzeichnen können, gibt es einige Dinge, die nicht aufgezeichnet werden:

  • Bewegen der Maus
  • Ändern des Menübandes (d. h. Anpassen des Menübandes oder Anklicken anderer Registerkarten)
  • Alles, was mit dem VBA-Editor zu tun hat
  • Alles, was Sie in Windows oder anderen Nicht-Excel-Programmen tun (Beispiel: Während Sie das Kopieren/Einfügen von einer Excel-Arbeitsmappe in eine andere aufzeichnen können, können Sie das Kopieren/Einfügen von Microsoft Word oder Notepad in Excel nicht aufzeichnen)
  • Logik: Sie können Excel nicht dazu bringen, Ihre Entscheidungen aufzuzeichnen (Beispiel: Wenn Sie Spalten in einer Tabelle auswählen, deren Kopfzeilen mit „Zahlung_“ beginnen, zeichnet Excel nur die Adressen der kopierten Spalten auf – es versteht nicht, dass Sie auf der Basis der Kopfzeile entscheiden, welche Spalten ausgewählt werden sollen)
  • Aktionen, die in Dialogen wie dem „Erweiterten Filter“ oder der „Bedingten Formatierung“ ausgeführt werden (nur das Ergebnis des Drückens von OK in einem Dialog wird aufgezeichnet)

Während diese Dinge nicht „aufgezeichnet“ werden können, können sie (meistens) direkt in VBA kodiert werden, wenn Sie über die entsprechenden Programmierkenntnisse verfügen. Insbesondere die Logik sollte man sich zunutze machen. Das angegebene Beispiel KÖNNTE manuell in ein Makro kodiert werden.

End-Pfeil-Tastenkombinationen zur Auswahl von Tabellen verwenden

Wenn Sie ein Makro aufzeichnen, sollten Sie zur Auswahl von Tabellen nicht nur die Maus oder die Pfeiltasten verwenden, sondern versuchen, ENDE-Pfeiltastenkombinationen zu verwenden. Der Grund dafür ist, dass Excel Zellenauswahlen für ENDE-Pfeiltastenkombinationen anders aufzeichnet. Betrachten Sie die folgende Tabelle:

excel beatles tabelle

Die Auswahl dieser Tabelle mit der Maus oder den Pfeiltasten würde den folgenden Code ergeben:

Range("A1:C5").Select

Bei einer erneuten Ausführung dieses Makros würde jedes Mal genau derselbe Bereich ausgewählt. Wenn der Tabelle Daten hinzugefügt werden, werden diese nicht vom Makro ausgewählt.

Stattdessen könnte die Tabelle mit zwei Tastenkombinationen ausgewählt werden: Umschalten-Ende-Pfeiltaste Rechts, gefolgt von Umschalten-Ende-Pfeiltaste Abwärts. Dies würde stattdessen den folgenden Code ergeben:

Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

Beachten Sie, dass keine genauen Bereiche angegeben sind, sondern die verwendeten Tastenkombinationen aufgezeichnet werden. Jetzt muss das Makro nicht neu codiert werden, wenn die Tabelle erweitert wird.

Relative Referenzen ausnutzen

Wie bereits erwähnt, zeichnet Excel die genauen Zellen auf, die Sie auswählen, wenn Sie die Maus oder die Pfeiltasten verwenden. Wenn Sie sich selbst bei der Erstellung einer Tabelle auf einem Arbeitsblatt aufzeichnen, erstellt das Makro die Tabelle jedes Mal an derselben Stelle. Dies wird als absoluter Verweis bezeichnet.

Dieses Verhalten kann jedoch so geändert werden, dass die Zellen, mit denen Sie arbeiten, relativ zu der ursprünglich ausgewählten Zelle aufgezeichnet werden. Auf diese Weise kann Ihr Makro die Tabelle dort erstellen, wo Sie den Mauszeiger platzieren.

Um die relativen Verweise einzuschalten, wählen Sie die Registerkarte Entwicklertools und klicken dann auf „Relative Verweise verwenden“ (dies ist eine Umschaltfunktion, klicken Sie erneut, um zur absoluten Referenzierung zurückzukehren). Vergessen Sie nicht, die Ausgangszelle zu markieren , bevor Sie mit der Aufzeichnung beginnen! vba entwicklertools relative verweise

Relative Verweise werden nicht durchgängig aufgezeichnet – einige Funktionen wie der Erweiterte Filter oder „Als Tabelle formatieren“ erfordern die Eingabe eines absoluten Bereichs. Wenn Sie relative Verweise verwenden, müssen Sie den VBA-Code des Makros möglicherweise später bearbeiten, je nachdem, welche Funktionen Sie aufgezeichnet haben.

Halten Sie es einfach

Es ist zwar verlockend, viele Aufgaben in einem einzigen Makro aufzuzeichnen, aber es ist besser, Ihre Makros klein zu halten und sich auf die Automatisierung bestimmter Aufgaben zu konzentrieren.

Zum einen ist es wirklich schwierig, ein langes Makro aufzuzeichnen, ohne Fehler zu machen. Selbst bei einem gut definierten Plan von Mausklicks und Tastendrücken passieren Fehler, die sehr schnell frustrierend sein können.

Zweitens ist es schwierig, große Makros zu debuggen, wenn etwas schief geht. Es kann lange dauern, den VBA-Code zu durchsuchen, um herauszufinden, was das Problem verursacht und selbst wenn das Problem gefunden ist, kann es schwierig sein, es zu beheben, ohne etwas anderes zu zerstören.

Aus diesen Gründen ist es oft besser, ein langes Makro in kleinere Teile aufzuteilen, die sich auf bestimmte Dinge konzentrieren. Ein Makro, das einen Bericht erstellt, könnte beispielsweise in zwei Teile aufgeteilt werden: ein Makro zum Importieren und Konsolidieren von Daten und ein weiteres Makro zum Hinzufügen von Formatierungen zum Bericht. Diese kleineren Makros lassen sich leichter aufzeichnen, leichter testen und leichter debuggen, wenn etwas schief geht.

VBA Code Generator