Code mit dem Makrorecorder aufzeichnen

Arbeiten mit dem Makrorecorder

Um ein VBA-Pro­gramm zu schreiben, muss der Code erstellt wer­den. Das ist wohl ein­leuch­t­end. Ins­beson­dere für Ein­steiger stellt es aber eine schein­bar schi­er unüber­windliche Hürde dar, so ein Pro­gramm von A bis Z lauf­fähig zu erstellen. Da kann für die ersten Schritte der Makrorecorder (Makroreko­rder) eine große Hil­fe sein. Hier­mit wird nach dem Start des Recorders alles, was Sie im Excel machen, aufgeze­ich­net und in Pro­gramm­code umge­set­zt. In der über­wiegen­den Anzahl aller Fälle läuft solch ein Pro­gramm dann auch. Das bedeutet aber den­noch, dass in fast jedem Fall eine Über­ar­beitung mehr als sin­nvoll ist. Das Wichtige ist aber: Das Gerüst ste­ht, der Ablauf stimmt (meis­tens) und viele „Befehle” haben schon den kor­rek­ten Namen.

Hier soll es nicht darum gehen, wo die Ein­schränkun­gen dieses Hil­f­s­mit­tels sind. Auch nicht darum, wo Sie nachar­beit­en sollen oder müssen. Es geht auss­chließlich darum Ihnen aufzuzeigen, wie der Makrorecorder aufgerufen und bedi­ent wird.

Hin­weis: Der Aufruf des Makrorecorders ist in den Excel-Ver­sio­nen ab 2007 kom­plett anders als in den früheren Ver­sio­nen. Darum ist auch eine getren­nte Abhand­lung erforder­lich.

▲ 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 Aufze­ich­nung in Excel 2003

Sollte dieser Menüpunkt nicht sicht­bar sein, dann Klick­en Sie ganz unten im Drop­Down auf den blauen Punkt mit dem nach unten zeigen­den Dop­pelpfeil, dann wird auch diese Auswahl sicht­bar. Nach einem Klick wählen Sie in der daneben erschienen Auswahl per Anklick­en den Punkt, dass Sie etwas Aufze­ich­nen… wollen:

Im Untermenü Aufzeichnen… wählen

Im Unter­menü Aufze­ich­nen… wählen

Spon­tan wird sich dieses Fen­ster auf­tun:

Hier bitte alles erforderliche ausfüllen

Hier bitte alles erforder­liche aus­füllen

Der Makro­n­ame ist immer Makro#, wobei # eine Zahl ist, die automa­tisch hoch gezählt wird.

Mit der Tas­tenkom­bi­na­tion kön­nen Sie fes­tle­gen, dass das Makro später auch mit Strg und ein­er weit­eren Taste aufgerufen wird und dann alleine startet.

Wo Sie das Makro spe­ich­ern (Makro spe­ich­ern in), ist für Ein­steiger nicht so rel­e­vant. Die getrof­fene Auswahl ist prinzip­iell OK und der Spe­icherort kann von Ihnen später immer noch geän­dert wer­den.

Die Beschrei­bung wird vorgegeben, ich habe für diesen Beitrag das automa­tisch einge­set­zte Datum durch TT.MM.JJJJ erset­zt. Es ist aber dur­chaus hil­fre­ich, dort eine eigene Beschrei­bung dessen einzugeben, was das Makro später machen wird.

Falls der vorgegebene oder von Ihnen einge­set­zte Name des Makros bere­its existiert, kommt diese Fehler­mel­dung:

Entscheiden Sie sich je nach Situation

Entschei­den Sie sich je nach Sit­u­a­tion

Die Auswahl sollte klar sein. Bei einem Nein wird zur Namensver­gabe (Bild hierüber) zurück gesprun­gen. Bei einem Ja wird erst der unter diesem Namen vorhan­dene Code gelöscht und sofort danach alles, was Sie in Excel tun, in dem Makro als les­bar­er Text aufgeze­ich­net. Auch die Fehler natür­lich … Die kön­nen und wer­den Sie aber später dur­chaus kor­rigieren, wenn Sie das Makro bear­beit­en. Dass eine Aufze­ich­nung läuft, erken­nen Sie ganz unten in der Sta­tusleiste links. Neben Bere­it ste­ht nun auch Aufze­ich. da:

Hinweis auf die laufende Aufzeichnung

Hin­weis auf die laufende Aufze­ich­nung

Zusät­zlich sehen Sie ein aus­ge­sprochen kleines Fen­ster, welch­es so aussieht:

Bitte nicht schließen

Bitte nicht schließen

Unschein­bar aber es ist den­noch wichtig. Denn mit einem Klick auf das blaue, aus­ge­füllte Quadrat in dieser Mini-Box been­den Sie ganz ein­fach die Aufze­ich­nung. Natür­lich geht auch der Weg über das Menü, an jen­er Stelle, wo Sie die Aufze­ich­nung ges­tartet haben, dann wird eben­falls die Aufze­ich­nung im Makro been­det.

Falls Sie ein­mal das Fen­ster ‑aus welchen Grün­den auch immer- mit dem x in der Titelleiste des Fen­sters geschlossen haben, dann gibt es nur einen Weg, dieses wieder rück­gängig zu machen:

Auch so ist Beenden möglich

Auch so ist Been­den möglich

Und denken Sie daran, die Aufze­ich­nung auch wirk­lich zu been­den. Es ist auch mir schon passiert, dass ich das im Eifer des Gefechts vergessen hat­te und mir wurde dann ein ellen­langer Code pro­duziert. Und natür­lich hat­te ich mich dann auch gewun­dert, dass ich nicht so ohne weit­eres ein neues Makro aufze­ich­nen kon­nte. Und es gibt dann noch weit­ere Neben­ef­fek­te, die hier nicht disku­tiert wer­den sollen.

Mit der Tas­tenkom­bi­na­tion AltF11 gelan­gen Sie dann in den Makro-Edi­tor und links oben im Pro­jekt-Man­ag­er sehen Sie bei VBAPro­jekt (Dateiname.xls) einen Ord­ner Mod­ule und dort ist dann eine Datei mit beispiel­sweise dem Namen Modul1 enthal­ten. Ein Dop­pelk­lick darauf wird den aufgeze­ich­neten Code im recht­en Bere­ich anzeigen. Sie kön­nen ihn nun erkun­den, bear­beit­en, …

▲ nach oben …

Excel ab 2007

Die Menüführung ist hier ja kom­plett anders als bei früheren Ver­sio­nen. Umsteiger wis­sen davon gewiss noch ein Klagelied zu sin­gen.  😡

Sie gehen im Menü zu Entwick­ler­tools und wählen anschließend im Menüband den Punkt Makro aufze­ich­nen aus:

Der Start der Aufzeichnung in Excel 2007 ff

Der Start der Aufze­ich­nung in Excel 2007 ff

Sollte bei Ihnen der Menüpunkt Entwick­ler­tools nicht sicht­bar sein, so müssen Sie diesen erst aktivieren. Wie das geht, das ist hier beschrieben.

Nach einem Klick auf Makro aufze­ich­nen wird sich spon­tan dieses Fen­ster auf­tun:

    Hier bitte alles erforderliche ausfüllen

Hier bitte alles erforder­liche aus­füllen

Der Makro­n­ame ist immer Makro#, wobei # eine Zahl ist, die automa­tisch hoch gezählt wird.

Mit der Tas­tenkom­bi­na­tion kön­nen Sie fes­tle­gen, dass das Makro später auch mit Strg und ein­er weit­eren Taste aufgerufen wird und dann alleine startet.

Wo Sie das Makro spe­ich­ern (Makro spe­ich­ern in), ist für Ein­steiger nicht so rel­e­vant. Die getrof­fene Auswahl ist prinzip­iell OK und der Spe­icherort kann von Ihnen später immer noch geän­dert wer­den.

Eine Beschrei­bung wird nicht vorgegeben. Es ist aber dur­chaus hil­fre­ich, dort einige Hin­weise darüber einzugeben, was das Makro spaäter machen wird.

Falls der vorgegebene oder von Ihnen einge­set­zte Name des Makros bere­its existiert, kommt diese Fehler­mel­dung:

Entscheiden Sie sich je nach Situation

Entschei­den Sie sich je nach Sit­u­a­tion

Die Auswahl sollte klar sein. Bei einem Nein wird zur Namensver­gabe (Bild hierüber) zurück gesprun­gen. Bei einem Ja wird erst der unter diesem Namen vorhan­dene Code gelöscht und sofort danach alles, was Sie in Excel tun, in dem Makro als les­bar­er Text aufgeze­ich­net. Auch die Fehler natür­lich … Die kön­nen und wer­den Sie aber später dur­chaus kor­rigieren, wenn Sie das Makro bear­beit­en. Dass eine Aufze­ich­nung läuft, erken­nen Sie ganz unten in der Sta­tuszeile links. Neben Bere­it sehen Sie nun nicht mehr das Sym­bol ein­er Tabelle mit dem roten „Etwas” oben links son­dern:

Der Hinweis darauf, dass ein Makro aufgezeichnet wird

Der Hin­weis darauf, dass ein Makro aufgeze­ich­net wird

Für die Abbil­dung habe ich die Maus einen Moment länger auf das blaue Rechteck zeigen lassen, damit der ToolTipp-Text angezeigt wird. Wom­it auch klar wäre, wie das Aufze­ich­nen been­det wer­den kann. Es geht natür­lich auch über die gle­iche Schalt­fläche in dem Menüband oben, wo Sie die Aufze­ich­nung ges­tartet haben; diese hat nun (naturgemäß) einen anderen Text.

Und denken Sie daran, die Aufze­ich­nung auch wirk­lich zu been­den. Es ist auch mir schon passiert, dass ich das im Eifer des Gefechts vergessen hat­te und mir wurde dann ein ellen­langer Code pro­duziert. Und natür­lich hat­te ich mich dann auch gewun­dert, dass ich nicht so ohne weit­eres ein neues Makro aufze­ich­nen kon­nte. Und noch weit­ere Neben­ef­fek­te, die hier nicht disku­tiert wer­den sollen.

Wenn Sie diesen Ablauf verin­ner­licht haben, ste­ht Ihnen ein großes Stück Arbeit bevor. Ler­nen, ler­nen und nochmals ler­nen. Denn selb­st wenn der Code in der Form lauf­fähig ist, so wer­den Sie (hof­fentlich) schnell auf den Geschmack kom­men und den Code opti­mieren und erweit­ern. Aber wie oben schon erwäh­nt, das ist eine andere Baustelle.  🙂 

[NachOben­Let­zte Verweis=„T&T: Makro Aufze­ich­nung”]
Dieser Beitrag wurde unter Coding / Programmieren, Mit VBA/Makro, Tipps und Tricks veröffentlicht. Setze ein Lesezeichen auf den Permalink.