In anderen Artikeln zeigen wir, wie Du Makros in Excel aufzeichnest oder wie Du per VBA-Prozedur auf die verschiedenen Elemente einer Excel-Arbeitsmappe zugreifen kannst. Diese Makros sind durchaus praktisch, aber der Nutzen reduziert sich doch, wenn man zum Ausführen beziehungsweise aufrufen immer den VBA-Editor anzeigen muss. Also zeigen wir im vorliegenden Artikel, wie Du einem Arbeitsblatt in Excel eine Schaltfläche hinzufügst, mit der Du die für dieses Arbeitsblatt vorgesehenen VBA-Prozeduren beziehungsweise Makros viel schneller und komfortabler aufrufen kannst.
Wie wir im Artikel VBA: Makros aufzeichnen (www.vbentwickler.de/324) gezeigt haben, kannst Du einfache Abläufe in Excel mit der Aufzeichnen-Funktion als Makro aufzeichnen.
Im Bereich Entwicklertools des Ribbons, in dem sich auch die Aufzeichnen-Funktion befindet, können wir über den Befehl Makros den gleichnamigen Dialog öffnen, der dann alle aktuell erreichbaren Makros anzeigt (siehe Bild 1). Hier kannst Du die Schaltfläche Ausführen anklicken, um das aktuell in der Liste markierte Makro zu starten.
Bild 1: Aufruf eines Makros
Das ist allerdings ohne weitere Anpassungen schon die einfachste Methode, um ein Makro zu starten. Wenn man bedenkt, dass ein Makro eigentlich das Ausführen verschiedener Aktionen vereinfachen oder beschleunigen soll, ist das recht kompliziert.
Besser wäre es, wenn man direkt an der Stelle, an der die Aktion gefragt ist, eine Möglichkeit zu ihrem Aufruf platzieren könnte. Dazu eignet sich beispielsweise eine Schaltfläche. Wie wir diese anlegen und damit das angegebene Makro aufrufen, zeigen wir in den folgenden Abschnitten.
Schaltfläche hinzufügen
Die erste Voraussetzung zum Hinzufügen einer Schaltfläche ist bereits gegeben, wenn Du über das Ribbon Makros aufzeichnen kannst. Dann hast Du bereits die Ribbon-Registerkarte Entwicklertools eingeblendet. Wenn Du nun die Arbeitsmappe geöffnet hast, der Du die Schaltfläche hinzufügen möchtest, kannst Du den Ribbon-Eintrag Entwicklertools|Steuerelemente|Einfügen aufrufen und findest die Liste der verfügbaren Steuerelemente vor. Diese liefert zwei Bereiche, wobei wir als Erstes die Schaltfläche aus dem Bereich Formularsteuerelemente anklicken (siehe Bild 2).
Bild 2: Hinzufügen einer Schaltfläche
Danach können wir mit der Maus im Arbeitsblatt einen Rahmen aufziehen, der die Größe der zu erstellenden Schaltfläche angibt (siehe Bild 3).
Bild 3: Aufziehen der Schaltfläche im Arbeitsblatt
Makro zur Schaltfläche zuweisen
Nun erscheint ein weiterer Dialog namens Makro zuweisen, der wie in Bild 4 aussieht. Der Dialog schlägt zunächst den Namen für ein neu anzulegendes oder aufzuzeichnendes Makro vor, hier Schaltfläche1_Klicken. Möchtest Du dieses verwenden, kannst Du noch den Namen anpassen und dann eine der Schaltflächen Neu oder Aufzeichnen… anklicken, um das neue Makro direkt im VBA-Editor anzulegen und zu bearbeiten oder ein neues Makro mit dem angegebenen Namen aufzuzeichnen. Klickst Du einfach auf OK, wird zwar ein Makro namens [Arbeitsmappenname].[Makroname] zugewiesen, aber nicht erstellt, was in der Folge zu einem Fehler führt.
Bild 4: Zuweisen eines Makro zur neuen Schaltfläche
Alternativ kannst Du eines der vorhandenen Makros auswählen, dann ändert sich die Beschriftung der oberen Schaltfläche in Bearbeiten. Achtung: Klickst Du hier auf Bearbeiten, öffnet sich zwar der VBA-Editor mit der jeweiligen Prozedur, aber diese wird nicht als Makro zu der Schaltfläche zugewiesen!
Wenn Du der Schaltfläche also ein vorhandenes Makro zuweisen möchtest, wählst Du es einfach nur aus und klickst auf OK.
Zu Beispielzwecken passen wir nun einfach den Namen auf btnMeldung_Click an und klicken auf die Schaltfläche Neu. Dann ergänzen wir die nun im VBA-Editor angelegte Prozedur wie folgt um den Aufruf einer Meldung:
Sub btnMeldung_Click() MsgBox "btnMeldung wurde angeklickt" End Sub
Der Dialog erlaubt im Kombinationsfeld Makros in: noch die Auswahl der Arbeitsmappe, in der sich das Makro befindet. Wir empfehlen, nur Makros aus der aktuellen Arbeitsmappe zu nutzen – zumindest, wenn die Arbeitsmappe einmal weitergegeben oder auf einem anderen Rechner genutzt werden soll.
Schaltfläche ausprobieren
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Visual Basic Entwickler:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 200 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: