Code mit dem Makrorecorder aufzeichnen

Arbeiten mit dem Makrorecorder

Um ein VBA-Pro­gramm zu schrei­ben, muss der Code er­stellt 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ür­de dar, so ein Pro­gramm von A bis Z lauf­fähig zu er­stel­len. Da kann für die ers­ten Schrit­te der Ma­kro­re­cor­der (Makroreko­rder) eine gro­ße Hil­fe sein. Hier­mit wird nach dem Start des Re­cor­ders al­les, was Sie im Ex­cel ma­chen, aufgeze­ich­net und in Pro­gramm­code umge­set­zt. In der über­wiegen­den An­zahl al­ler Fäl­le läuft solch ein Pro­gramm dann auch. Das be­deu­tet aber den­noch, dass in fast je­dem Fall eine Über­ar­beitung mehr als sin­nvoll ist. Das Wich­ti­ge ist aber: Das Ge­rüst ste­ht, der Ab­lauf stimmt (meis­tens) und vie­le „Be­feh­le” ha­ben schon den kor­rek­ten Na­men.

Hier soll es nicht dar­um ge­hen, wo die Ein­schränkun­gen die­ses Hil­f­s­mit­tels sind. Auch nicht dar­um, wo Sie nachar­beit­en sol­len oder müs­sen. Es geht auss­chließlich dar­um Ih­nen auf­zu­zei­gen, wie der Ma­kro­re­cor­der auf­ge­ru­fen und bedi­ent wird.

Hin­weis: Der Auf­ruf des Ma­kro­re­cor­ders ist in den Excel-Ver­sio­nen ab 2007 kom­plett an­ders als in den frü­he­ren Ver­sio­nen. Dar­um ist auch eine getren­nte Abhand­lung erforder­lich.

▲ nach oben …

Ex­cel bis 2003

Sie ge­hen im Menü zu Ex­tras und wäh­len dort den Punkt Ma­kro aus:

Start zur Aufzeichnung in Excel 2003

Start zur Aufze­ich­nung in Ex­cel 2003

Soll­te die­ser Me­nü­punkt nicht sicht­bar sein, dann Klick­en Sie ganz un­ten im Drop­Down auf den blau­en Punkt mit dem nach un­ten zeigen­den Dop­pelpfeil, dann wird auch die­se Aus­wahl sicht­bar. Nach ei­nem Klick wäh­len Sie in der da­ne­ben er­schie­nen Aus­wahl per Anklick­en den Punkt, dass Sie et­was Aufze­ich­nen… wol­len:

Im Untermenü Aufzeichnen… wählen

Im Unter­menü Aufze­ich­nen… wäh­len

Spon­tan wird sich die­ses Fen­ster auf­tun:

Hier bitte alles erforderliche ausfüllen

Hier bit­te al­les erforder­liche aus­füllen

Der Makro­n­ame ist im­mer Ma­kro#, wo­bei # eine Zahl ist, die automa­tisch hoch ge­zählt wird.

Mit der Tas­tenkom­bi­na­tion kön­nen Sie fes­tle­gen, dass das Ma­kro spä­ter auch mit Strg und ein­er weit­eren Tas­te auf­ge­ru­fen wird und dann al­lei­ne star­tet.

Wo Sie das Ma­kro spe­ich­ern (Ma­kro spe­ich­ern in), ist für Ein­steiger nicht so rel­e­vant. Die getrof­fene Aus­wahl ist prinzip­iell OK und der Spe­icherort kann von Ih­nen spä­ter im­mer noch geän­dert wer­den.

Die Beschrei­bung wird vor­ge­ge­ben, ich habe für die­sen Bei­trag das automa­tisch einge­set­zte Da­tum durch TT.​MM.​JJJJ erset­zt. Es ist aber dur­chaus hil­fre­ich, dort eine ei­ge­ne Beschrei­bung des­sen ein­zu­ge­ben, was das Ma­kro spä­ter ma­chen wird.

Falls der vor­ge­ge­be­ne oder von Ih­nen einge­set­zte Name des Ma­kros bere­its exis­tiert, kommt die­se Fehler­mel­dung:

Entscheiden Sie sich je nach Situation

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

Die Aus­wahl soll­te klar sein. Bei ei­nem Nein wird zur Namensver­gabe (Bild hier­über) zu­rück gesprun­gen. Bei ei­nem Ja wird erst der un­ter die­sem Na­men vorhan­dene Code ge­löscht und so­fort da­nach al­les, was Sie in Ex­cel tun, in dem Ma­kro als les­bar­er Text aufgeze­ich­net. Auch die Feh­ler natür­lich … Die kön­nen und wer­den Sie aber spä­ter dur­chaus kor­rigieren, wenn Sie das Ma­kro bear­beit­en. Dass eine Aufze­ich­nung läuft, erken­nen Sie ganz un­ten in der Sta­tusleiste links. Ne­ben Bere­it ste­ht nun auch Aufze­ich. da:

Hinweis auf die laufende Aufzeichnung

Hin­weis auf die lau­fen­de Aufze­ich­nung

Zusät­zlich se­hen Sie ein aus­ge­sprochen klei­nes Fen­ster, welch­es so aus­sieht:

Bitte nicht schließen

Bit­te nicht schlie­ßen

Unschein­bar aber es ist den­noch wich­tig. Denn mit ei­nem Klick auf das blaue, aus­ge­füllte Qua­drat in die­ser Mi­ni-Box been­den Sie ganz ein­fach die Aufze­ich­nung. Natür­lich geht auch der Weg über das Menü, an jen­er Stel­le, wo Sie die Aufze­ich­nung ges­tartet ha­ben, dann wird eben­falls die Aufze­ich­nung im Ma­kro been­det.

Falls Sie ein­mal das Fen­ster ‑aus wel­chen Grün­den auch im­mer- mit dem x in der Ti­tel­leis­te des Fen­sters ge­schlos­sen ha­ben, dann gibt es nur ei­nen Weg, die­ses wie­der rück­gängig zu ma­chen:

Auch so ist Beenden möglich

Auch so ist Been­den mög­lich

Und den­ken Sie dar­an, die Aufze­ich­nung auch wirk­lich zu been­den. Es ist auch mir schon pas­siert, dass ich das im Ei­fer des Ge­fechts ver­ges­sen hat­te und mir wur­de 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 neu­es Ma­kro aufze­ich­nen kon­nte. Und es gibt dann noch weit­ere Neben­ef­fek­te, die hier nicht disku­tiert wer­den sol­len.

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 se­hen Sie bei VBAPro­jekt (Da­tei­na­me.xls) ei­nen Ord­ner Mod­ule und dort ist dann eine Da­tei mit beispiel­sweise dem Na­men Mo­dul1 enthal­ten. Ein Dop­pelk­lick dar­auf wird den aufgeze­ich­neten Code im recht­en Bere­ich an­zei­gen. Sie kön­nen ihn nun erkun­den, bear­beit­en, …

▲ nach oben …

Ex­cel ab 2007

Die Me­nü­füh­rung ist hier ja kom­plett an­ders als bei frü­he­ren Ver­sio­nen. Um­stei­ger wis­sen da­von ge­wiss noch ein Kla­ge­lied zu sin­gen.  😡

Sie ge­hen im Menü zu Entwick­ler­tools und wäh­len an­schlie­ßend im Men­üband den Punkt Ma­kro aufze­ich­nen aus:

Der Start der Aufzeichnung in Excel 2007 ff

Der Start der Aufze­ich­nung in Ex­cel 2007 ff

Soll­te bei Ih­nen der Me­nü­punkt Entwick­ler­tools nicht sicht­bar sein, so müs­sen Sie die­sen erst ak­ti­vie­ren. Wie das geht, das ist hier be­schrie­ben.

Nach ei­nem Klick auf Ma­kro aufze­ich­nen wird sich spon­tan die­ses Fen­ster auf­tun:

    Hier bitte alles erforderliche ausfüllen

Hier bit­te al­les erforder­liche aus­füllen

Der Makro­n­ame ist im­mer Ma­kro#, wo­bei # eine Zahl ist, die automa­tisch hoch ge­zählt wird.

Mit der Tas­tenkom­bi­na­tion kön­nen Sie fes­tle­gen, dass das Ma­kro spä­ter auch mit Strg und ein­er weit­eren Tas­te auf­ge­ru­fen wird und dann al­lei­ne star­tet.

Wo Sie das Ma­kro spe­ich­ern (Ma­kro spe­ich­ern in), ist für Ein­steiger nicht so rel­e­vant. Die getrof­fene Aus­wahl ist prinzip­iell OK und der Spe­icherort kann von Ih­nen spä­ter im­mer noch geän­dert wer­den.

Eine Beschrei­bung wird nicht vor­ge­ge­ben. Es ist aber dur­chaus hil­fre­ich, dort ei­ni­ge Hin­weise dar­über ein­zu­ge­ben, was das Ma­kro spa­ä­ter ma­chen wird.

Falls der vor­ge­ge­be­ne oder von Ih­nen einge­set­zte Name des Ma­kros bere­its exis­tiert, kommt die­se Fehler­mel­dung:

Entscheiden Sie sich je nach Situation

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

Die Aus­wahl soll­te klar sein. Bei ei­nem Nein wird zur Namensver­gabe (Bild hier­über) zu­rück gesprun­gen. Bei ei­nem Ja wird erst der un­ter die­sem Na­men vorhan­dene Code ge­löscht und so­fort da­nach al­les, was Sie in Ex­cel tun, in dem Ma­kro als les­bar­er Text aufgeze­ich­net. Auch die Feh­ler natür­lich … Die kön­nen und wer­den Sie aber spä­ter dur­chaus kor­rigieren, wenn Sie das Ma­kro bear­beit­en. Dass eine Aufze­ich­nung läuft, erken­nen Sie ganz un­ten in der Sta­tuszeile links. Ne­ben Bere­it se­hen Sie nun nicht mehr das Sym­bol ein­er Ta­bel­le mit dem ro­ten „Et­was” oben links son­dern:

Der Hinweis darauf, dass ein Makro aufgezeichnet wird

Der Hin­weis dar­auf, dass ein Ma­kro aufgeze­ich­net wird

Für die Abbil­dung habe ich die Maus ei­nen Mo­ment län­ger auf das blaue Recht­eck zei­gen las­sen, da­mit der Tool­Tipp-Text an­ge­zeigt 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 ha­ben; die­se hat nun (na­tur­ge­mäß) ei­nen an­de­ren Text.

Und den­ken Sie dar­an, die Aufze­ich­nung auch wirk­lich zu been­den. Es ist auch mir schon pas­siert, dass ich das im Ei­fer des Ge­fechts ver­ges­sen hat­te und mir wur­de 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 neu­es Ma­kro aufze­ich­nen kon­nte. Und noch weit­ere Neben­ef­fek­te, die hier nicht disku­tiert wer­den sol­len.

Wenn Sie die­sen Ab­lauf verin­ner­licht ha­ben, ste­ht Ih­nen ein gro­ßes Stück Ar­beit be­vor. Ler­nen, ler­nen und noch­mals ler­nen. Denn selb­st wenn der Code in der Form lauf­fähig ist, so wer­den Sie (hof­fentlich) schnell auf den Ge­schmack kom­men und den Code opti­mieren und erweit­ern. Aber wie oben schon erwäh­nt, das ist eine an­de­re Bau­stel­le.  🙂 

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