Anleitung zum Aufzeichnen einer immer wiederkehrenden Aktion mittels des Makrorecorders

Um eine immer wiederkehrende Aktion nicht ständig mit der Hand ausführen zu müssen, kann man diese Aktion auch als Makro erstellen. Eine Möglichkeit ein Makro zu erstellen ist, die Aktionen mit dem Makrorecorder aufzuzeichnen. Das geht ganz einfach und wird nachfolgend Schritt für Schritt erklärt.

Ich möchte aber auch nicht verschweigen, dass es sich bei dem aufgezeichneten Code um einen sehr unsauberen Code handelt, da dort alles was mit der Maus oder Tastatur bedient oder markiert, auch aufgezeichnet wird. Bei längeren Makros kann man damit sehr schnell an die Leistungsgrenzen des PC stoßen, da diese ganzen aufgezeichneten unnötigen Aktionen, wie z.B. markieren usw., die Ressourcen quasi auffressen. Aus dem Grunde zeige ich dann in dieser Anleitung, wie man das aufgezeichnete Beispielmakro auch anders schreiben kann. Nun aber los.


 

Diese Anleitung wird anhand eines Beispieles durchgeführt. Begleitend dazu kann eine Beispieldatei herunter geladen werden, in der die Makros schon eingearbeitet wurden.

 


 

 

 

 

 

 

1. In diesem Beispiel soll der Bereich A1:C10 aus dem Tabellenblatt Quelle kopiert und in das Tabellenblatt Ziel in Zelle A1 eingefügt werden. Um die dafür erforderlich Aktion aufzuzeichnen muss man nacheinander die Menüleisteneinträge Extras => Makro => Aufzeichnen... auswählen.

 

2. Klicken Sie in Ihrer Exceldatei, sofern es sich um Excel 2000 - 2003 handelt, in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor.

 

 

 

 

 

 

Ab Excel 2010 müssen Sie zuerst die Möglichkeiten schaffen, an die Makroeinstellungen heranzukommen. Dazu Klicken Sie auf die Office-Schaltfläche oben links.
In dem geöffneten Menü klicken Sie am unteren Ende des Menüs auf die Schaltfläche "Excel Optionen".
Danach klicken Sie auf der linken Seite auf den Eintrag "Häufig verwendet" und auf der rechten Seite aktivieren Sie dann den Eintrag "Entwicklungskarte in der Multifunktionsleiste anzeigen", so dass ein Haken vor dem Eintrag erscheint. Schließen Sie danach das Fenster mit einem Klick auf "OK".

 

In der Multifunktionsleiste finden Sie nun den Eintrag "Entwicklertools". Wenn Sie auf den Menüeintrag "Entwicklertools" klicken sehen Sie die Funktionen, die zur Verfügung stehen. Durch Klicken auf den Button "Makro aufzeichnen", startet der Makrorekorder.


 

 

2. Nach dieser Auswahl öffnet sich ein Fenster, in dem man dem Makro einen Namen geben kann. Auch hat man hier die Möglichkeit dem Makro eine Tastenkombination zu zu ordnen mit der man später das Makro auch ohne eine Schaltfläche, sondern mit dieser Tastenkombination starten kann. In unserem Beispiel erhält das Makro den Namen Beispielmakro und erhält die Tastenkombination STRG b.

 

3. Danach beginnt die eigentliche Makroaufzeichnung. Es sollte eine neue Symbolleiste in dem Tabellenblatt eingeblendet werden, die eine Schaltfläche zum Stoppen enthalten sollte. Sollte das nicht der Fall sein, keine Panik. Gehen Sie einfach mal in der Menüleiste auf die Einträge Ansicht => Symbolleiste => Aufzeichnung beenden und siehe da, da ist sie. Alternativ kann man die Aufzeichnung aber auch über die gleiche Auswahl wie unter dem Schritt 1 beschrieben, dann aber nicht Aufzeichnen, sondern Aufzeichnung beenden auswählen, beenden.

 

Tipp:
Vorweg möchte ich aber noch den Rat geben, die aufzuzeichnenden Aktionen zunächst einmal trocken ohne die Aufzeichnung durch zu spielen. Das hat den Grund, das wie ja auch schon weiter oben angesprochen, wirklich jede Aktion mit der Maus oder Tastatur aufgezeichnet wird. So z.B. auch das Hoch- bzw. Runterscrollen oder das Links- bzw. Rechtsscrollen in dem Tabellenblatt. Sie werden sich jetzt sicherlich Fragen, wie man denn sonst weiter unten stehende Zellen ansprechen kann ohne dabei Hin- oder Herzuscrollen? Also müssen sie doch scrollen. Nein, das muss man nicht, aber wenn Sie das bei der Makroaufzeichnung machen, wird das mit aufgezeichnet, auch wenn man es nicht benötigt. Und das meinte ich eben mit unsauberen VBA Code. Aber nun genug damit, wir machen jetzt mal weiter mit dem, um was es hier geht, der Makroauszeichnung.

 

Also, die Aufzeichnung ist gestartet. Nun markieren wir mit der Maus den Bereich, der kopiert werden soll. In unsrem Beispiel war das in Tabellenblatt Quelle A1:C10 und klicken dann mit der rechten Maustaste in den markierten Bereich und wählen in dem aufgeklappten Menü den Eintrag Kopieren aus. Alternativ kann auch die Tastenkombination Strg C  zum Kopieren ausgeführt werden.

 


 

4. Danach wechseln wir in das Tabellenblatt Ziel und klicken dort mit der rechten Maustaste in die Zelle A1. In dem dann wieder aufgeklappten Menü wird der Eintrag Einfügen ausgewählt. Alternativ kann hier auch die Tastenkombination Strg v zum Einfügen ausgeführt werden. Es sollte nun der gesamte Text, der vorher kopiert wurde, angezeigt werden.

Um die Aufzeichnung zu beenden klicken Sie auf die Stoppschaltfläche in der Symbolleiste. Alternativ kann aber auch die Auswahl wie unter Schritt 1 beschrieben, dann aber nicht Aufzeichnen, sondern Aufzeichnung beenden auswählen, ausgeführt werden um die Aufzeichnung zu stoppen..


 

 

 

5. Um sich nun einmal den VBA Code des Makros ansehen zu können muss man in die VBA Umgebung wechseln. Das macht man in dem wieder nacheinander die Menüleisteneinträge Extras => Makro => Visual Basic - Editor auswählt. Alternativ gibt es auch hierfür eine Tastenkombination. Mit der Kombination Alt F11 gelangt man ebenfalls in den VBA Editor.

 

Dort sollten man auf der linken Seite den Eintrag Module suchen und dort dann doppelt diesen Eintrag anklicken. Danach doppelt auf den Eintrag Modul1 klicken und siehe da, dort steht Ihr erster aufgezeichneter VBA Code. Sollten Sie Schwierigkeiten beim Finden Ihres Makros haben, dann schauen Sie sich bitte die Anleitung StandardModul an. Dort finden Sie ebenfalls eine bebilderte Anleitung dazu. Die sollte Ihnen beim Finden Ihres Makros helfen.

 


 

 

 

 

 

 

6.So, da wir das Makro ja eventuell auch noch über eine Schaltfläche starten möchten, machen wir dann mal weiter. Sie können dazu das Makro entweder über eine Schaltfläche aus der Symbolleiste Formular oder aus der Symbolleiste Steuerelement-Toolbox starten. Zur Schaltfläche aus der Symbolleiste Steuerlement-Toolbox besteht ja schon eine Anleitung, die in den Anleitungen unter Befehlsschaltfläche nachlesen kann. Daher erkläre ich das hier mal an der Schaltfläche aus der Symbolleiste Formular.

 

Zunächst einmal müssen wir, sofern noch nicht angezeigt,  die Symbolleiste einblenden. Dazu wieder nacheinander die Menüleisteneinträge Ansicht => Symbolleiste => Formular auswählen. Es erscheint eine neue Symbolleiste.

In dieser Symbolleiste wählen wir die 4. Schaltfläche von links (rote Umrandung) aus und ziehen in dem Tabellenblatt ein Rechteck in der Größe, die unsere Schaltfläche erhalten soll, auf. Nachdem die Schaltfläche gezeichnet wurde, öffnet sofort ein Fenster. Mit der Auswahl in diesem Fenster weisen wird der Schaltfläche ein Makro zu, dass beim Betätigen der Schaltfläche ausgeführt werden soll. In unserem Beispiel ist dieses Fenster fast leer. Daher fällt es auch leicht den Makronamen Beispielmakro zu finden, diesen zu markieren und dann diese Auswahl mit OK abzuschließen.


 

 

 

7. So, nun vergeben wir unserer Schaltfläche noch einen aussagekräftigen Text, der auf der Schaltfläche angezeigt werden soll.

Klicken Sie mit der rechten Mautaste auf die Schaltfläche und wählen in dem Menü den Eintrag Text bearbeiten aus. Nun können sie der Schaltfläche einen Text verabreichen. Ich habe mich für den Text Kopieren aufgezeichnetes Makro entschieden.

 

Und fertig sind wir. Wenn Sie alles so wie beschrieben durchgeführt haben, sollte nun beim Betätigen der Schaltfläche Ihre Daten von Tabellenblatt Quelle in das Tabellenblatt Ziel kopiert worden sein.


Aufgezeichneter VBA Code:

Sub Beispielmakro()
'Dieser VBA Code ist, wenn er aufgezeichnet
'wird, sehr unsauber, da jede Bewegung
'oder auch jedes Anwählen einer Zelle
'in dem Tabellenblatt mit aufgezeichnet wird.
'Das kann aber sehr schnell zu Ressorcenproblemen
'kommen, wenn solch ein Makro länger wird.
'Alternativ mal weiter unten ein Makro, welches
'genau das gleiche wie das Beispielmakro macht.
Range("A1:C10").Select
Selection.Copy
Sheets("Ziel").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Quelle").Select
End Sub

 

Bearbeiteter VBA Code:

Sub Beispielmakro_bearbeitet()
'Der gleiche Code wie der des Beispielmakros,
'allerdings ohne die ganzen Select Anweisungen.
Range("A1:C10").Copy Sheets("Ziel").Range("A1")
End Sub

 

 

 

Zu Abschluss zeige ich Ihnen noch mal, wie das gleiche Makro, das wir aufgezeichnet haben, ganz ohne die ganzen Select - Anweisungen auch aussehen könnte. Auf der linken Seite sehen Sie beide VBA Code im Vergleich dazu.

 

 

 

 

 

Und das Makro macht genau das gleiche, aber ohne viel Rechnerleistung zu verbrauchen.


Sie sollten zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicken Sie dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehen Sie, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schauen Sie dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktivieren Sie diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Ihrer Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicken Sie auf aktivieren und der Code wird ausgeführt

 
  A B C D E
1        
2   Diese Anleitung wurde bereits  x aufgerufen.  
3    
4          

 

Kontakt:

letzte Aktualisierung am 17.06.2005

© 2004 - Copyright Oliver Scheckelhoff,
All Rights Reserved