Excel-Makros ganz einfach erstellen und ausführen
Den Begriff "Makros" bzw. "Excel-Makros" hast Du vielleicht schon einmal gehört – aber was sind Makros eigentlich und wie können sie Deine Arbeit mit Excel erleichtern?
Mit Excel-Makros lassen sich zeitaufwändige, wiederkehrende Aufgaben aufnehmen und später beliebig oft wieder abspielen. Die Ausführung solcher Arbeitsschritte, die manchmal Stunden oder vielleicht sogar Tage dauert, kann damit innerhalb von wenigen Minuten oder in nur wenigen Sekunden erledigt werden.
Makros erstellen und einzusetzen bedeutet also nichts anderes als eine Aufnahme von Arbeitsschritten, die später per Knopfdruck wieder abgespielt werden können.
1) Was sind Makros? - Video
2) Einsatzbereiche von Excel Makros
Aus der Vogelperspektive betrachtet, besteht die Arbeit mit Excel aus drei Schritten:
- Daten müssen in eine Excel-Datei importiert werden (Dateninput),
- diese Daten werden danach verarbeitet und ausgewertet, es werden Erkenntnisse gewonnen und aufbereitet (Datenverarbeitung), um diese schließlich
- in Tabellen, Grafiken, PDFs, E-Mails, Dashboards usw. umzuwandeln (Datenoutput).
Diese drei Schritte erfordern oftmals sehr viel Zeit, aber mithilfe von Makros lässt sich davon vieles automatisieren und beschleunigen.
Anders ausgedrückt: Alles, was Du wiederholt per Hand durchführen musst, kannst Du durch Makros automatisieren.
Derartige Anpassungen lassen sich aber nicht nur in einem bestimmten Arbeitsblatt, sondern auch über mehrere Arbeitsblätter oder über mehrere Dateien hinweg durchführen.
3) Makros Erstellen
Makros können auf unterschiedliche Weise erstellt bzw. aufgenommen werden. Standardmäßig gehen wir dazu folgenden Weg Ansicht -> Makros -> Makros aufzeichnen.
Dies öffnet das Dialogfeld "Makros aufzeichnen".
Weitere Möglichkeiten, um in das Dialogfeld "Makros aufzeichnen" zu gelangen, werden im folgenden Video gezeigt
4) Makros erstellen - Video
Um bereits bestehende Makros anzuzeigen, öffnest du das Dialogfenster mit Ansicht -> Makros -> Makros anzeigen.
5) Erstellen eines Makros mit absoluten Verweisen
Du wirst nun ein erstes Makro erstellen. Standardmäßig werden Markos übrigens mit absoluten Verweisen aufgenommen; mehr dazu in Kürze.
Öffne das Dialogfeld "Makros aufnehmen" und gib einen Namen für das Makro ein, bspw. "TestAbsolut".
Möchtest Du das Makro später mithilfe einer bestimmten Tastenkombination starten, so suche Dir eine entsprechende Kombination aus. Achte hierbei jedoch stets darauf, dass die betreffende Tastenkombination nicht bereits anderweitig belegt ist!
Danach musst Du angeben, ob das Makro in der aktuellen Arbeitsmappe oder in Deiner persönlichen Arbeitsmappe durchgeführt werden soll. Der Vorteil von "Diese Arbeitsmappe" liegt darin, dass bspw. Kollegen oder andere Benutzer Deine konfigurierten Makros ebenfalls ausführen können. Eine Speicherung in Deiner persönlichen Arbeitsmappe macht also nur Sinn, wenn es sich um spezielle Tastenkombinationen oder Kürzel oder um bestimmte Formatierungen etc. handelt, mit denen ausschließlich Du selbst arbeiten möchtest.
Schließlich hast Du noch die Möglichkeit, eine Beschreibung für das Makro anzugeben. In unserem Beispiel nehmen wir "Kopieren absolut".
Nach dem Klick auf "OK" werden sämtliche Schritte aufgezeichnet, die von Dir ab diesem Zeitpunkt in der geöffneten Arbeitsmappe vorgenommen werden.
Sobald die Aufzeichnung des Makros gestartet wurde, verändert sich das Makro-Zeichen in der Statusleiste links unten …
… zu einem Stopp-Symbol (dunkles Quadrat).
Hast Du alle Schritte, die für das aktuelle Makro relevant sind, durchgeführt (in unserem Beispiel das Kopieren der Inhalte von Zelle A1 in die Zelle A3), …
… dann beendest Du die Aufzeichnung des Makros, indem Du bspw. auf das Stopp-Symbol in der Statusleiste links unten oder im Dialogfenster auf "Aufzeichnung beenden" klickst.
6) Makros erstellen mit relativen Verweisen
Als Nächstes sehen wir uns ein Makro mit relativen Bezügen an. Standardmäßig werden Markos, wie Du vorhin gehört hast, mit absoluten Verweisen aufgenommen, aber Du hast auch die Möglichkeit, Makros mit relativen Verweisen aufzunehmen. Welche Option gerade aktiv ist, siehst Du an dem untersten Icon im Menü "Makros".
Um ein Excel-Makro mit relativen Verweisen aufzuzeichnen, klickst du zunächst auf den Befehl "Relative Verweise verwenden" (siehe oben) und öffnest danach wiederum das Dialogfenster "Makro aufzeichnen", damit Du ein neues Makro mit einem anderen Namen (in unserem Beispiel "TestRelativ") erstellen kannst.
Nachdem Du genau wie vorhin den Kopiervorgang von der Zelle A1 in die Zelle A3 durchgeführt hast, beendest Du die Aufzeichnung des Makros wie oben beschrieben.
Worin besteht nun der Unterschied zwischen den beiden Makros, die Du soeben konfiguriert hast?
Das Makro "TestAbsolut" kopiert den Inhalt einer aktiven (ausgewählten) Zelle immer in die Zelle A3. Wenn Du also bspw. etwas in die Zelle D4 schreibst, danach das Dialogfeld "Makros anzeigen" öffnest …
… und das Makro "TestAbsolut" ausführst, …
… wird nach dem Klick auf "Ausführen" der Inhalt der (aktiven) Zelle D4 in die Zelle A3 hineinkopiert.
Wenn Du hingegen etwas in die Zelle D4 schreibst, das Dialogfeld "Makros anzeigen" (siehe oben) öffnest und das Makro "TestRelativ" ausführst, …
… wird nach dem Klick auf "Ausführen" der Inhalt der (aktiven) Zelle D4 in die Zelle D6 kopiert, …
… weil die Zelle D6 in der gleichen Relation zur Zelle D4 steht wie zuvor Zelle A3 zur Zelle A1 – also exakt zwei Zeilen darunter.
7) Nachträgliche Bearbeitung von Makros
Um bestehende Makros zu bearbeiten, stehen Dir mehrere Möglichkeiten zur Verfügung.
Über das Dialogfeld "Makros anzeigen" kannst Du durch Klicken auf "Optionen" nachträglich die Beschreibung des betreffenden Excel-Makros verändern sowie einen Shortcut hinzufügen bzw. den bestehenden ändern oder löschen.
Durch Klicken auf "Bearbeiten" gelangst Du zum Code des Makros, das Du aufgenommen hast.
8) Ausführung von Makros - Alternativen
Eine von mehreren Möglichkeiten, um bestehende Excel-Makros auszuführen, führt über das Menü "Entwicklertools", das standardmäßig nicht in der Menüleiste aufscheint. Um dieses zu aktivieren, gehst Du zunächst über "Datei" und "Optionen" …
… zu "Menüband anpassen".
Auf der rechten Seite findest Du neben dem einem nicht aktivierten Kästchen den Punkt "Entwicklertools". Du setzt das Häkchen in das leere Quadrat und klickst dann auf OK.
Danach erscheint in Deinem Menüband die Registerkarte "Entwicklertools".
Durch Klicken auf das Icon "Einfügen" öffnet sich ein Dialogfenster, mit dessen Hilfe Du die Möglichkeit hast, sowohl sogenannte Formularsteuerelemente als auch ActiveX-Steuerelemente in Deine Arbeitsmappe einzufügen.
Wie Du die verschiedenen Elemente verwendest, um bspw. eine Schaltfläche einzufügen und ihr ein Makro zuzuweisen, wie Du die Schaltfläche und das angehängte Makro bearbeitest und welche Optionen Dir mithilfe der Entwicklertools bei der Arbeit mit Excel-Makros sonst noch zur Verfügung stehen, wird Dir Schritt für Schritt im Video erklärt.
Darin erfährst Du u. a. auch, wie Du den Schnellzugriff um weitere Symbole erweiterst, um diesen Symbolen ebenfalls spezifische Makros zuzuordnen, oder wie Du für die Verwendung Deiner Makros die Registerkarten adaptieren und anpassen kannst.
9) Bearbeitung des Makro-Codes
Wie bereits oben beschrieben, wird beim Aufnehmen von Makros zwischen absoluten und relativen Makros unterschieden. Den Unterschied erkennst Du, wenn Du Dir die Codes der beiden von Dir konfigurierten Makros genauer ansiehst.
Im oberen Makro ("TestAbsolut") findest Du die absoluten Verweise mit den ausgewählten Zellen A1 und A3. In beiden Fällen wird mit dem Range-Objekt gearbeitet.
Im unteren Makro ("TestRelativ") wird mit der ActiveCell, also der im Moment der Ausführung des Makros ausgewählten "aktiven" Zelle gearbeitet, um dann den Inhalt dieser Zelle in eine andere Zelle mit der entsprechenden Relation hineinzukopieren. In unserem Beispiel (siehe weiter oben) war dies das Kopieren des Inhalts von Zelle D4 in die Zelle D6.
Der Vorteil des Arbeitens mit relativen Verweisen liegt darin, dass man ein solches Makro auch an anderen Stellen, in anderen Arbeitsblättern usw. anwenden kann.
Beim Code für das Makro mit dem relativen Verweis siehst Du den Offset-Befehl "Offset(2, 0)" und die Range("A1"), was so viel bedeutet, als dass – relativ gesehen – von der ActiveCell aus 2 Zeilen nach unten sowie 0 Spalten nach rechts oder nach links gegangen wird, um das Makro auszuführen.
Wenn Du beispielsweise die Offset-Angaben in (3, 2) veränderst, …
… wird der Inhalt der aktiven Zelle in eine Zelle 3 Zeilen unterhalb und zwei Spalten nach rechts – von der Ausgangszelle (ActiveCell) aus gesehen – hineinkopiert.
Du hast aber selbstverständlich auch die Möglichkeit, das Ganze in die andere Richtung laufen zu lassen. Für Zeilen nach oben sowie für Spalten nach links gibst Du dann jeweils die entsprechenden Minuswerte ein.
Beispiel: Der Inhalt der ActiveCell E6 soll 3 Zeilen nach oben und 4 Spalten nach links in die Zelle A2 hineinkopiert werden.
Zusätzlich kannst Du auch noch den Bereich vergrößern, in den der Inhalt der aktiven Zelle hineinkopiert werden soll, indem Du die Range vergrößerst. In unserem Beispiel wollen wir einen zwei Zellen großen Bereich abdecken.