VBA-Schaltfläche in Excel hinzufügen

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Dezember 28, 2022

In diesem Tutorial zeigen wir Ihnen, wie Sie eine Makro-Schaltfläche in Excel-VBA hinzufügen können.

Nachdem wir Makros in Excel erstellt haben, ist es manchmal nützlich, eine Schaltfläche im Excel-Arbeitsblatt zu erstellen, um das Makro auszuführen.

Da wir VBA verwenden, um UserForms in Excel zu erstellen, müssen wir auch in der Lage sein, Schaltflächen auf diesen Benutzerformularen zu erstellen, um die Operationen OK und Abbrechen durchzuführen.  In diesem Tutorial zeigen wir Ihnen, wie Sie eine Makro-Schaltfläche zu einem VBA-Arbeitsblatt, ein Makro zu einer Form in VBA (im Gegensatz zu einer Schaltfläche) und eine Schaltfläche zu einem Benutzerformular im VBE-Editor hinzufügen können.

Eine Makro-Schaltfläche in ein Excel-Arbeitsblatt einfügen

Sobald wir ein Makro in Excel-VBA erstellt haben, können wir eine Schaltfläche auf dem Arbeitsblatt erstellen, um das Makro auszuführen.

Wählen Sie in der Menüleiste die Registerkarte Entwicklertools, falls sie sichtbar ist. Diese Registerkarte ist standardmäßig ausgeschaltet, so dass Sie sie einschalten müssen, um sie in der Menüleiste zu sehen.

Wenn die Registerkarte Entwicklertools in der Menüleiste nicht sichtbar ist, klicken Sie auf die Registerkarte Datei in der Menüleiste und gehen Sie zu Optionen. Aktivieren Sie in den Optionen unter „Menüband anpassen“ das Kontrollkästchen Entwicklertools.

vba entwicklertools aktivieren

Klicken Sie auf OK.

Die Registerkarte „Entwicklertools“ wird in der Hauptmenüleiste angezeigt.

vba entwicklertools im menüband

Es gibt 2 Arten von Schaltflächen, die wir zu einem Excel-Blatt hinzufügen können. Eine Formularschaltfläche und eine ActiveX-Schaltfläche.

Hinzufügen einer Formularschaltfläche

Wählen Sie in der Menüleiste Entwicklertools > Einfügen > Formularsteuerelemente > Schaltfläche.

vba formularsteuerschaltflaeche hinzufuegen

Klicken und ziehen Sie im Arbeitsblatt, um eine Schaltfläche zu erstellen.  Sobald Sie die Maustaste loslassen, wird das Dialogfeld mit dem Titel „Makro zuweisen“ angezeigt.

vba formularsteuerschaltflaeche makroliste

Scrollen Sie nach unten, um 1) das Makro, das Sie der Taste zuweisen möchten, auszuwählen und 2) auf OK zu klicken.

vba formularsteuerschaltflaeche makro zuweisen

 

Klicken Sie mit der rechten Maustaste auf die Schaltfläche und wählen Sie Text bearbeiten, um den Schaltflächentext zu ändern.

vba formularsteuerschaltflaeche text bearbeiten

Geben Sie einen geeigneten Namen für die Schaltfläche ein und klicken Sie dann auf sie.

Klicken Sie auf die Schaltfläche, um das Makro auszuführen.

vba formularsteuerschaltflaeche makro ausfuehren

Um das Format der Schaltfläche zu ändern, klicken Sie darauf mit der rechten Maustaste und wählen Sie „Steuerelement formatieren“.

vba formularsteuerschaltflaeche formatieren

Wählen Sie die Formatoptionen aus, und klicken Sie auf OK.

vba formularsteuerschaltflaeche formatoptionen

Eine ActiveX-Schaltfläche hinzufügen

Die ActiveX-Schaltfläche ähnelt einer Formularschaltfläche, aber anstatt ihr ein vorhandenes Makro zuzuweisen, müssen wir Code hinter ihr Click-Ereignis schreiben. Sie hat auch viel mehr Eigenschaften als die Formularschaltfläche, was sie zu einem viel flexibleren Steuerelement macht.

Wählen Sie in der Menüleiste Entwicklertools > Einfügen > ActiveX-Steuerelemente > Befehlsschaltfläche.

vba activex schaltflaeche

Klicken und ziehen Sie in Ihrem Arbeitsblatt, um die Schaltfläche zu erstellen.   Die Schaltfläche wird als eingebettete Befehlsschaltfläche angezeigt.

vba activex schaltflaeche hinzufuegen

 

Um den Befehlsschaltflächennamen oder den angezeigten Text zu ändern, klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche und dann auf Eigenschaften.

vba activex schaltflaeche eigenschaften

Ändern Sie 1) den Namen der Schaltfläche, 2) die Beschriftung der Schaltfläche und 3) das Textformat wie gewünscht.

activex schaltflaeche eigenschaften bearbeiten

Um der Schaltfläche Code hinzuzufügen, klicken Sie darauf erneut mit der rechten Maustaste und wählen Sie Code anzeigen.

activex schaltflaeche code anzeigen

Dadurch wird das Click-Ereignis für die Schaltfläche im VBE-Editor automatisch erzeugt (Das Click-Ereignis ist das häufigste Ereignis für Befehlsschaltflächen und wird standardmäßig erstellt).

activex schaltflaeche code bearbeiten

Geben Sie den gewünschten Code in das erstellte Ereignis ein.

Private Sub cmdTime_Click()
 Dim strT As String
 strT = Time()
 MsgBox "Die aktuelle Uhrzeit ist " & strT
End Sub

Schließen Sie den VBE-Editor, um zu Ihrem Arbeitsblatt zurückzukehren.

Klicken Sie noch einmal auf Ihre neue Schaltfläche.  Sie werden feststellen, dass das Makro nicht ausgeführt wird, aber die Schaltfläche wird ausgewählt.  Das liegt daran, dass Sie beim Erstellen einer ActiveX-Schaltfläche automatisch in den Entwurfsmodus versetzt werden.

activex schaltflaeche entwurfsmodus

Um den Code hinter der Schaltfläche auszuführen, klicken Sie in der Menüleiste auf die Schaltfläche Entwurfsmodus, um diesen zu verlassen und klicken Sie dann auf die Schaltfläche.

activex schaltflaeche betaetigen

 

Ein Makro zu einer Form in einem Excel-Arbeitsblatt hinzufügen

Wählen Sie in der Menüleiste Einfügen > Form.

vba form hinzufuegen

 

Wählen Sie die Form aus der Dropdown-Liste aus und ziehen Sie dann mit gedrückter Maustaste im Excel-Arbeitsblatt, um die Form zu erstellen.

vba form erstellen

Klicken Sie mit der rechten Maustaste auf die Form und wählen Sie Makro zuweisen.

vba form makro zuweisen

Wählen Sie das Makro aus, das Sie zuweisen möchten und klicken Sie auf OK.

vba form mit makro

Wenn Sie die Maus über die Form bewegen, sollte sich der Mauszeiger in eine kleine Hand verwandeln.  Klicken Sie auf die Form, um das Makro auszuführen.

Befehlsschaltflächen zu VBA-Formularen hinzufügen

Die Erstellung von VBA-Benutzerformularen ist ein wichtiger Bestandteil der VBA-Programmierung.  Damit können Sie eine professionell aussehende Benutzeroberfläche erstellen, um mit den Benutzern Ihrer VBA-Anwendung zu kommunizieren.  Außerdem können Sie damit den Benutzer vollständig kontrollieren, was er in Ihrer Arbeitsmappe tut.  Um zu erfahren, wie Sie UserForms in VBA erstellen können, klicken Sie hier.

Sobald ein Benutzerformular erstellt wurde und Steuerelemente dazu hinzugefügt wurden, können Schaltflächen hinzugefügt werden, um Funktionen wie OK und Abbrechen auszuführen.

Wählen Sie in der Toolsammlung das Steuerelement Befehlsschaltfläche aus und ziehen Sie dann in Ihrem Formular mit gedrückter Maustaste, um die Schaltfläche zu erstellen.

vba userform schaltflaeche hinzufuegen

Ändern Sie mithilfe der Caption-Eigenschaft die Beschriftung der Befehlsschaltfläche in OK und setzen Sie die Accelerator-Eigenschaft auf „O“.

vba userform schaltflaeche eigenschaften

 

Der Zweck der Accelerator-Eigenschaft besteht darin, dass der Benutzer die Schaltfläche mit der Tastatur aktivieren kann. In diesem Fall würde Alt+O die Schaltfläche aktivieren.

vba userform OK schaltflaeche

Nachdem wir die Befehlsschaltfläche erstellt haben, können wir darauf doppelklicken, um den VBA-Code aufzurufen.  Durch einen Doppelklick auf die Befehlsschaltfläche im Formular wird das Click-Ereignis für die Schaltfläche automatisch erstellt, da dies das Ereignis ist, das am häufigsten von Befehlsschaltflächen verwendet wird.

vba userform schaltflaeche code

Wir können nun unseren entsprechenden VBA-Code in der erstellten Prozedur eingeben.

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples