Code mit dem Makrorecorder aufzeichnen

Arbeiten mit dem Makrorecorder

Um ein VBA-Programm zu schreiben, muss der Code erstellt werden. Das ist wohl einleuchtend. Insbesondere für Einsteiger stellt es aber eine scheinbar schier unüberwindliche Hürde dar, so ein Programm von A bis Z lauffähig zu erstellen. Da kann für die ersten Schritte der Makrorecorder (Makrorekorder) eine große Hilfe sein. Hiermit wird nach dem Start des Recorders alles, was Sie im Excel machen, aufgezeichnet und in Programmcode umgesetzt. In der überwiegenden Anzahl aller Fälle läuft solch ein Programm dann auch. Das bedeutet aber dennoch, dass in fast jedem Fall eine Überarbeitung mehr als sinnvoll ist. Das Wichtige ist aber: Das Gerüst steht, der Ablauf stimmt (meistens) und viele „Befehle“ haben schon den korrekten Namen.

Hier soll es nicht darum gehen, wo die Einschränkungen dieses Hilfsmittels sind. Auch nicht darum, wo Sie nacharbeiten sollen oder müssen. Es geht ausschließlich darum Ihnen aufzuzeigen, wie der Makrorecorder aufgerufen und bedient wird.

Hinweis: Der Aufruf des Makrorecorders ist in den Excel-Versionen ab 2007 komplett anders als in den früheren Versionen. Darum ist auch eine getrennte Abhandlung erforderlich.

▲ nach oben …

Excel bis 2003

Sie gehen im Menü zu Extras und wählen dort den Punkt Makro aus:

Start zur Aufzeichnung in Excel 2003

Start zur Aufzeichnung in Excel 2003

Sollte dieser Menüpunkt nicht sichtbar sein, dann klicken Sie ganz unten im DropDown auf den blauen Punkt mit dem nach unten zeigenden Doppelpfeil, dann wird auch diese Auswahl sichtbar. Nach einem Klick wählen Sie in der daneben erschienen Auswahl per Anklicken den Punkt, dass Sie etwas Aufzeichnen… wollen:

Im Untermenü Aufzeichnen… wählen

Im Untermenü Aufzeichnen… wählen

Spontan wird sich dieses Fenster auftun:

Hier bitte alles erforderliche ausfüllen

Hier bitte alles erforderliche ausfüllen

Der Makroname ist immer Makro#, wobei # eine Zahl ist, die automatisch hoch gezählt wird.

Mit der Tastenkombination können Sie festlegen, dass das Makro später auch mit Strg und einer weiteren Taste aufgerufen wird und dann alleine startet.

Wo Sie das Makro speichern (Makro speichern in), ist für Einsteiger nicht so relevant. Die getroffene Auswahl ist prinzipiell OK und der Speicherort kann von Ihnen später immer noch geändert werden.

Die Beschreibung wird vorgegeben, ich habe für diesen Beitrag das automatisch eingesetzte Datum durch TT.MM.JJJJ ersetzt. Es ist aber durchaus hilfreich, dort eine eigene Beschreibung dessen einzugeben, was das Makro später machen wird.

Falls der vorgegebene oder von Ihnen eingesetzte Name des Makros bereits existiert, kommt diese Fehlermeldung:

Entscheiden Sie sich je nach Situation

Entscheiden Sie sich je nach Situation

Die Auswahl sollte klar sein. Bei einem Nein wird zur Namensvergabe (Bild hierüber) zurück gesprungen. Bei einem Ja wird erst der unter diesem Namen vorhandene Code gelöscht und sofort danach alles, was Sie in Excel tun, in dem Makro als lesbarer Text aufgezeichnet. Auch die Fehler natürlich … Die können und werden Sie aber später durchaus korrigieren, wenn Sie das Makro bearbeiten. Dass eine Aufzeichnung läuft, erkennen Sie ganz unten in der Statusleiste links. Neben Bereit steht nun auch Aufzeich. da:

Hinweis auf die laufende Aufzeichnung

Hinweis auf die laufende Aufzeichnung

Zusätzlich sehen Sie ein ausgesprochen kleines Fenster, welches so aussieht:

Bitte nicht schließen

Bitte nicht schließen

Unscheinbar aber es ist dennoch wichtig. Denn mit einem Klick auf das blaue, ausgefüllte Quadrat in dieser Mini-Box beenden Sie ganz einfach die Aufzeichnung. Natürlich geht auch der Weg über das Menü, an jener Stelle, wo Sie die Aufzeichnung gestartet haben, dann wird ebenfalls die Aufzeichnung im Makro beendet.

Falls Sie einmal das Fenster -aus welchen Gründen auch immer- mit dem x in der Titelleiste des Fensters geschlossen haben, dann gibt es nur einen Weg, dieses wieder rückgängig zu machen:

Auch so ist Beenden möglich

Auch so ist Beenden möglich

Und denken Sie daran, die Aufzeichnung auch wirklich zu beenden. Es ist auch mir schon passiert, dass ich das im Eifer des Gefechts vergessen hatte und mir wurde dann ein ellenlanger Code produziert. Und natürlich hatte ich mich dann auch gewundert, dass ich nicht so ohne weiteres ein neues Makro aufzeichnen konnte. Und es gibt dann noch weitere Nebeneffekte, die hier nicht diskutiert werden sollen.

Mit der Tastenkombination AltF11 gelangen Sie dann in den Makro-Editor und links oben im Projekt-Manager sehen Sie bei VBAProjekt (Dateiname.xls) einen Ordner Module und dort ist dann eine Datei mit beispielsweise dem Namen Modul1 enthalten. Ein Doppelklick darauf wird den aufgezeichneten Code im rechten Bereich anzeigen. Sie können ihn nun erkunden, bearbeiten, …

▲ nach oben …

Excel ab 2007

Die Menüführung ist hier ja komplett anders als bei früheren Versionen. Umsteiger wissen davon gewiss noch ein Klagelied zu singen.  😡

Sie gehen im Menü zu Entwicklertools und wählen anschließend im Menüband den Punkt Makro aufzeichnen aus:

Der Start der Aufzeichnung in Excel 2007 ff

Der Start der Aufzeichnung in Excel 2007 ff

Sollte bei Ihnen der Menüpunkt Entwicklertools nicht sichtbar sein, so müssen Sie diesen erst aktivieren. Wie das geht, das ist hier beschrieben.

Nach einem Klick auf Makro aufzeichnen wird sich spontan dieses Fenster auftun:

    Hier bitte alles erforderliche ausfüllen

Hier bitte alles erforderliche ausfüllen

Der Makroname ist immer Makro#, wobei # eine Zahl ist, die automatisch hoch gezählt wird.

Mit der Tastenkombination können Sie festlegen, dass das Makro später auch mit Strg und einer weiteren Taste aufgerufen wird und dann alleine startet.

Wo Sie das Makro speichern (Makro speichern in), ist für Einsteiger nicht so relevant. Die getroffene Auswahl ist prinzipiell OK und der Speicherort kann von Ihnen später immer noch geändert werden.

Eine Beschreibung wird nicht vorgegeben. Es ist aber durchaus hilfreich, dort einige Hinweise darüber einzugeben, was das Makro spaäter machen wird.

Falls der vorgegebene oder von Ihnen eingesetzte Name des Makros bereits existiert, kommt diese Fehlermeldung:

Entscheiden Sie sich je nach Situation

Entscheiden Sie sich je nach Situation

Die Auswahl sollte klar sein. Bei einem Nein wird zur Namensvergabe (Bild hierüber) zurück gesprungen. Bei einem Ja wird erst der unter diesem Namen vorhandene Code gelöscht und sofort danach alles, was Sie in Excel tun, in dem Makro als lesbarer Text aufgezeichnet. Auch die Fehler natürlich … Die können und werden Sie aber später durchaus korrigieren, wenn Sie das Makro bearbeiten. Dass eine Aufzeichnung läuft, erkennen Sie ganz unten in der Statuszeile links. Neben Bereit sehen Sie nun nicht mehr das Symbol einer Tabelle mit dem roten „Etwas“ oben links sondern:

Der Hinweis darauf, dass ein Makro aufgezeichnet wird

Der Hinweis darauf, dass ein Makro aufgezeichnet wird

Für die Abbildung habe ich die Maus einen Moment länger auf das blaue Rechteck zeigen lassen, damit der ToolTipp-Text angezeigt wird. Womit auch klar wäre, wie das Aufzeichnen beendet werden kann. Es geht natürlich auch über die gleiche Schaltfläche in dem Menüband oben, wo Sie die Aufzeichnung gestartet haben; diese hat nun (naturgemäß) einen anderen Text.

Und denken Sie daran, die Aufzeichnung auch wirklich zu beenden. Es ist auch mir schon passiert, dass ich das im Eifer des Gefechts vergessen hatte und mir wurde dann ein ellenlanger Code produziert. Und natürlich hatte ich mich dann auch gewundert, dass ich nicht so ohne weiteres ein neues Makro aufzeichnen konnte. Und noch weitere Nebeneffekte, die hier nicht diskutiert werden sollen.

Wenn Sie diesen Ablauf verinnerlicht haben, steht Ihnen ein großes Stück Arbeit bevor. Lernen, lernen und nochmals lernen. Denn selbst wenn der Code in der Form lauffähig ist, so werden Sie (hoffentlich) schnell auf den Geschmack kommen und den Code optimieren und erweitern. Aber wie oben schon erwähnt, das ist eine andere Baustelle.  🙂 

▲ nach oben …

Dieser Beitrag wurde unter Coding / Programmieren, Mit VBA/Makro, Tipps und Tricks veröffentlicht. Setze ein Lesezeichen auf den Permalink.