- Erstellen einer UserForm
- Erstellen eines Textfelds
- Erstellen eines Label-Steuerelements
- Erstellen eines Kombinationsfeld-Steuerelements
- Erstellen eines Listenfeld-Steuerelements
- Erstellen eines Kontrollkästchen-Steuerelements
- Erstellen eines Optionsgruppen-Steuerelements mit Optionsschaltflächen
Erstellen einer Befehlsschaltfläche zum Verlassen des Formulars
In diesem Artikel wird veranschaulicht, wie Sie Steuerelemente in UserForms in Excel VBA verwenden.
VBA kann Formulare erstellen, mit denen der Benutzer interagieren kann, z. B. Rechnungsformulare oder Kontaktdaten. Ein Formular kann eine Vielzahl von Formularsteuerelementen wie Textfelder, Kombinationsfelder, Listenfelder und Befehlsschaltflächen enthalten. Dieser Artikel behandelt die gängigsten Steuerelemente, die in Benutzerformularen verwendet werden, nämlich Textfelder, Beschriftungen, Kombinationsfelder, Listenfelder, Kontrollkästchen und Optionsgruppen.
Um mehr über integrierte Benutzerformulare und das Erstellen benutzerdefinierter Benutzerformulare in Excel zu erfahren, klicken Sie hier.
Erstellen einer UserForm
Um eine UserForm in Excel VBA zu erstellen, müssen wir zuerst die VBE-Editor.
Um ein neues Benutzerformular in Ihren Code einzufügen, wählen Sie das Benutzerformular Option aus dem Menü Einfügen.
Ein neues Benutzerformular erscheint im Projekt-Explorer und wird im Codefenster rechts angezeigt.
Sie können Ihr Formular mit dem umbenennen Eigenschaften Kasten. Dies sollte unter deinem erscheinen Projekt-Explorer.
Wenn es wie sichtbar ist, drücken Sie F4 oder klick Sicht, Eigenschaftenfenster.
Klicken Sie in die Name -Eigenschaft und benennen Sie Ihr Formular um.
Wir können jetzt damit beginnen, unser Formular mit Steuerelementen zu füllen - das Textfeldsteuerelement ist neben dem Beschriftungssteuerelement und der Befehlsschaltfläche das beliebteste Steuerelement.
Um das Formular mit Steuerelementen zu füllen, müssen wir die Toolbox einschalten.
In dem Speisekarte, auswählen Ansicht > Toolbox.
Erstellen eines Textfelds
Um ein Textfeld in Ihrem Formular zu erstellen, wählen Sie das Textfeld-Steuerelement in der Toolbox aus.
Ziehen Sie mit der Maus eine Kastenform auf das Formular, halten Sie die linke Maustaste gedrückt und lassen Sie dann die Maustaste los.
Da dies das erste Textfeld ist, das wir erstellen, wird es TextBox1 genannt. Wie beim Formular können Sie das Textfeld im Eigenschaftenfenster umbenennen.
Wir können weiterhin beliebig viele Textfelder in unserem Formular erstellen und diese mithilfe der Name-Eigenschaft im Eigenschaftenfenster entsprechend benennen.
Erstellen eines Label-Steuerelements
Ein Label-Steuerelement sagt uns, was das Textfeld enthalten soll. Sie ziehen das Formular auf die gleiche Weise wie bei einem Textfeld und können dann den erforderlichen Text innerhalb des Label-Steuerelements eingeben, z. B.: Vorname wie unten gezeigt.
Erstellen Sie wie bei den Textfeldern weiterhin so viele wie im Formular erforderlich.
Erstellen eines Kombinationsfeld-Steuerelements
Ein Kombinationsfeld (oder ein Dropdown-Feld) ermöglicht es dem Benutzer, aus einer Liste von Werten auszuwählen. Um ein Kombinationsfeld zu erstellen, klicken Sie in der Toolbox auf das Kombinationsfeld-Steuerelement, klicken Sie auf das Kombinationsfeld und ziehen Sie es in Ihrem Formular.
Benennen Sie das Kombinationsfeld entsprechend.
Hinzufügen von Werten zum Kombinationsfeld
Um es mit Werten zu füllen, müssen wir in die Initialisieren -Methode des Benutzerformularobjekts.
Um zum Code Behind the Form (CBF) zu gelangen, doppelklicken Sie entweder auf das Formular oder klicken Sie im Projekt-Explorer auf die Code-Schaltfläche, um in die Codeansicht zu wechseln.
Wählen Sie in der linken Dropdown-Liste Benutzerformular aus, und wählen Sie dann in der rechten Dropdown-Liste Initialisieren aus.
Geben Sie den folgenden Code in die Felder Sub und End Sub ein, um das Dropdown-Feld zu füllen:
1234 | Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas" |
Wir können die Liste natürlich mit den restlichen Bundesstaaten der USA fortsetzen!
Um das Benutzerformular auszuführen, um die Liste in Aktion zu sehen, 1) wechseln Sie zurück zur Formularansicht und 2) klicken Sie in der Symbolleiste auf das Lauf Taste.
Klicken Sie auf den Dropdown-Pfeil, um die Liste anzuzeigen.
Wir können auch einen Bereich in Excel verwenden, um das Kombinationsfeld zu füllen.
123456 | Private Sub UserForm_Initialize()Dim rng As RangeFür jeden rng im Bereich("A1:A50")Me.cboState.AddItem rng.ValueNächster rngEnd Sub |
Dadurch werden alle im Bereich A1 bis A50 gespeicherten Werte abgerufen und die Dropdown-Liste entsprechend ausgefüllt.
Erstellen eines Listenfeld-Steuerelements
Ein Listenfeld-Steuerelement funktioniert auf die gleiche Weise wie ein Kombinationsfeld-Steuerelement, ermöglicht uns jedoch, alle Optionen im Formular in einem Listenformat anzuzeigen.
Wählen Sie das Listenfeld-Steuerelement in der Toolbox aus, und ziehen Sie dann, um ein Listenfeld in Ihrem Formular zu erstellen.
Sind Sie es leid, nach VBA-Codebeispielen zu suchen? Probieren Sie AutoMacro aus!
Hinzufügen von Werten zum Listenfeld
Geben Sie im Initialize-Ereignis des Formulars den folgenden Code ein:
123456 | Private Sub UserForm_Initialize()Dim rng As RangeFür jeden rng im Bereich("A1:A50")Me.lstState.AddItem rng.ValueNächster rngEnd Sub |
Wenn wir das Formular ausführen, wird das Listenfeld wie in der Abbildung unten gezeigt angezeigt:
Erstellen eines Kontrollkästchen-Steuerelements
Kontrollkästchen ermöglichen es dem Benutzer, eine Option zu aktivieren oder zu deaktivieren.
Wählen Sie das Kontrollkästchen-Steuerelement aus, und klicken Sie dann im Formular auf die gewünschte Position.
Ändern Sie die Beschriftung und den Namen des Kontrollkästchens im Eigenschaftenfenster.
Erstellen eines Optionsgruppen-Steuerelements mit Optionsschaltflächen
Eine Optionsgruppe ermöglicht es dem Benutzer, aus einer Reihe von verfügbaren Optionen auszuwählen. Der erste Schritt beim Erstellen einer Optionsgruppe besteht darin, dem Formular ein Frame-Steuerelement hinzuzufügen und dann die Optionsschaltflächen innerhalb des hinzugefügten Frames hinzuzufügen. Dadurch stellen wir sicher, dass beim Ausführen des Formulars jeweils nur eine der Optionsschaltflächen innerhalb des Rahmens ausgewählt werden kann.
Wählen Sie das Frame-Steuerelement in der Toolbox aus und ziehen Sie dann, um einen Frame in Ihrem Formular zu erstellen.
Wählen Sie das Optionsfeld-Steuerelement in der Toolbox aus und klicken Sie dann auf INNERHALB des oben erstellten Rahmens, um die Optionsschaltfläche in den Rahmen einzufügen. Wiederholen Sie dies nach Bedarf.
Klicken Sie auf den Rahmen und 1) ändern Sie den Namen des Rahmens und die Beschriftung. Dann 2) klicken Sie auf jede der Optionsschaltflächen und ändern Sie die Beschriftung.
Erstellen einer Befehlsschaltfläche zum Verlassen des Formulars
In diesem Stadium besteht die einzige Möglichkeit zum Schließen des Formulars darin, die Schaltfläche zum Schließen in der rechten Ecke der Formularsteuerleiste zu verwenden. Eine effizientere Methode zum Verlassen eines Formulars, bei der wir mehr Kontrolle haben, besteht darin, eine Schaltfläche zum Beenden im Formular zu erstellen. Dies erfolgt über das Command Button Control in der Toolbox.
Wählen Sie das Befehlsschaltflächen-Steuerelement aus, klicken Sie dann in Ihrem Formular, und ziehen Sie es, um die Schaltfläche zu erstellen.
Ändern Sie mit der Caption-Eigenschaft die Beschriftung der Befehlsschaltfläche in OK und das Accelerator in "O".
Der Zweck des Beschleunigers besteht darin, dass der Benutzer die Tastatur verwendet, um die Schaltfläche zu aktivieren, in diesem Fall Alt+O würde den Button aktivieren.
Gutes Produkt. AutoMacro schreibt nicht nur Ihren Code, es lehrt Sie, während Sie gehen!" - Tony, UK
Mehr erfahrenLesen Sie unsere über 900 Bewertungen
Hinzufügen von Code zur Befehlsschaltfläche
Damit die Befehlsschaltfläche funktioniert, müssen wir dahinter Code hinzufügen, damit der Code ausgeführt wird, wenn auf die Schaltfläche geklickt wird. Dies wird als Click-Ereignis der Schaltfläche bezeichnet.
Um zum Click-Ereignis zu gelangen, doppelklicken Sie in der Entwurfsansicht des Formulars auf die Schaltfläche.
1) Das Click-Ereignis wird automatisch erstellt, da dies das Ereignis ist, das am häufigsten für Befehlsschaltflächen verwendet wird.
2) Wenn wir in das Dropdown-Feld Prozedur auf der rechten Seite klicken, sehen wir eine Liste aller Ereignismethoden, die für die Befehlsschaltfläche verfügbar sind. Diese Liste ändert sich je nachdem, welche Art von Steuerelement wir erstellt haben, da verschiedene Ereignisse für verschiedene Arten von Steuerelementen verfügbar sind.
Geben Sie den folgenden Code in das Click-Ereignis der Befehlsschaltfläche ein.
123456789101112131415 | Privates Abo cmdOK_Click()Range("E1") = Me.txtVornameRange("E2") = Me.txtNachnameRange("E3") = Me.txtCellPhoneRange("E4") = Me.cboStateWenn Me.ckContactInfo = True ThenRange("E5") = "SMS erlaubt"AndersRange("E5") = "SMS nicht erlaubt"Ende WennWenn Me.opt1.Value = True Then Range("E6") = Me.opt1.CaptionWenn Me.opt2.Value = True Then Range("E6") = Me.opt2.CaptionWenn Me.opt3.Value = True Then Range("E6") = Me.opt3.CaptionEntlade michEnd Sub |
Wir können dann das Formular ausführen, die Textfelder ausfüllen und aus der Dropdown-Liste auswählen. Wir klicken dann auf OK, um die Informationen in Excel einzugeben.