Wie zu verwenden VBA Userform Steuerelemente
Die UserForms in VBA werden verwendet, um Eingaben vom Benutzer entgegenzunehmen und manchmal Ausgaben und Nachrichten anzuzeigen. Erfahren Sie mehr über die Grundlagen des Benutzerformulars „hier„.
Die Benutzerformulare können mehrere und unterschiedliche Komponenten für die Eingaben enthalten.
Diese Komponenten werden als Steuerelemente von UserForm bezeichnet.
Es gibt verschiedene Arten von Benutzerformular-Steuerelementen, die jeweils unterschiedliche Eigenschaften haben und aus unterschiedlichen Gründen verwendet werden. Es ist hilfreich zu wissen, wie und wann die einzelnen Typen des Benutzerformularsteuerelements verwendet werden sollen. In diesem Artikel erfahren Sie, wie Sie UserForm Control in Excel VBA verwenden.
Typen der UserForms-Steuerelemente
In VBA gibt es zu viele Steuerelemente für Benutzerformulare. Wenn wir sie behandeln In diesem Artikel konzentrieren wir uns nur auf die wichtigsten Formularsteuerelemente.
1: Beschriftungen
2: TextBox
3: ComboBox
4: ListBox
5: CheckBox
6: OptionButton
7: ToggleButton
8: CommandButton
9: Frames
Schauen wir uns all diese Steuerelemente an.
Beschriftungen:
Die Beschriftungen werden verwendet, um einfach Textbeschriftungen anzuzeigen. Wie eine Beschriftung für einen Eingabebereich, eine Warnung, eine Richtung usw.
Um dem Benutzerformular eine Beschriftung hinzuzufügen, wählen Sie einfach die Option Beschriftung (A-Symbol) in der ToolBox. Der Cursor verwandelt sich in ein Pluszeichen. Ziehen Sie in den Bereich, in dem Sie die Beschriftungen platzieren möchten.
TextBox:
Ein Textfeld ist eine grundlegende Open-End-Eingabeoption des Benutzers. Der Benutzer kann einfach die Eingaben eingeben, die er geben möchte. Grundlegendes Szenario sind Namenseingaben.
Wenn Sie eine Nachricht anzeigen möchten, wenn Sie mit der Maus über das Textfeld fahren, schreiben Sie sie in ControlTipText im Eigenschaftenfenster.
ComboBox:
Die Kombinationsfelder werden verwendet, um beim Klicken eine Liste der Elemente anzuzeigen. Der Benutzer kann einfach eines der angezeigten Elemente aus dieser Liste auswählen oder die Eingabe selbst eingeben.
Wir verwenden ComboBox in Excel VBA, wenn der Benutzer eine optionale Liste zur Auswahl hat. Benutzer können aus der Liste auswählen oder ihre Antwort manuell eingeben.
Wählen Sie das Kombinationsfeld aus der Toolbox aus und ziehen Sie es auf das Formular. Es wird sofort ein Kombinationsfeld in das Formular eingefügt. Der Standardname der Combox lautet Combobox1, 2, 3 usw. Sie können ihn im Eigenschaftenfeld ändern.
Wie füge ich Elemente in ComboBox ein?
Nun haben Sie die Combobox zu unserem Formular hinzugefügt. Wenn wir das Benutzerformular laden, wird im Kombinationsfeld nichts angezeigt. Dies liegt daran, dass wir der Combobox noch keine Elemente hinzugefügt haben.
In diesem Beispiel möchte ich der Combobox Elemente hinzufügen, wenn das Benutzerformular initialisiert (geladen) wird. Also werden wir das Benutzerformular sogar „Initialisieren“ verwenden.
Klicken Sie mit der rechten Maustaste auf das Benutzerformular (nicht auf eine Komponente), um das gesamte Benutzerformular auszuwählen. Wählen Sie den Ansichtscode.
Von link: / events-in-vba-die-ereignisse-in-excel-vba [events]
Wählen Sie Initialisieren.
Verwenden Sie nun die Eigenschaft AddItem der ComboBox-Klasse und fügen Sie beliebig viele Elemente hinzu.
Private Sub UserForm_Initialize() ComboBox1.AddItem "2016" ComboBox1.AddItem "2017" ComboBox1.AddItem "2018" ComboBox1.AddItem "2019" ComboBox1.AddItem "2020" End Sub
Da wir die Elemente im Ereignis UserForm_Initialize () hinzufügen, werden alle Elemente der Combobox hinzugefügt, wenn das Benutzerformular geladen wird.
Abrufen des ausgewählten Elements aus der ComboBox
Um das ausgewählte Element aus der Combobox zu verwenden, verwenden wir einfach die Value-Eigenschaft von ComboBox.
Private Sub CommandButton1_Click() MsgBox ComboBox1.Value End Sub
Hier zeigen wir den Wert, den wir ausgewählt haben, wenn der Benutzer auf die Befehlsschaltfläche klickt (wir gelangen zum Klickereignis der Befehlsschaltfläche unten).
Listbox
Eine ListBox wird verwendet, wenn der Benutzer aus einer definierten Liste auswählen soll.
Klingt ähnlich wie ComboBox? Ja, eine Listbox ist der ComboBox sehr ähnlich, außer dass der Benutzer seine Antwort nicht in die Listbox eingeben kann.
Sie müssen nur aus den verfügbaren Optionen auswählen.
Um eine Listbox in das Formular einzufügen, wählen Sie sie aus der Toolbox aus und klicken Sie auf den Formularbereich.
Der Standardname der Listbox lautet genetisch listbox1, 2, 3 usw.
Sie können es im Eigenschaftenfeld ändern.
Genau wie bei der ComboBox ist das VBA-Listenfeld zunächst leer. Zum Initialisieren verwenden wir einfach die Eigenschaft add der Listbox-Klasse.
Wie füge ich Elemente zur Listbox hinzu?
Wenn wir die Elemente in den Initialisierungsereignissen des Formulars zur Liste der Comboboxen hinzufügen, fügen wir die Elemente der Listbox im selben Ereignis hinzu. Bearbeiten Sie einfach das obige Initialisierungsereignis, um Elemente hinzuzufügen, wenn das Benutzerformular geladen wird.
Private Sub UserForm_Initialize() ComboBox1.AddItem "2016" ComboBox1.AddItem "2017" ComboBox1.AddItem "2018" ComboBox1.AddItem "2019" ComboBox1.AddItem "2020" 'Adding Item to List ListBox1.AddItem "Jan" ListBox1.AddItem "Feb" ListBox1.AddItem "Mar" ListBox1.AddItem "Apr" ListBox1.AddItem "May" ListBox1.AddItem "Jun" ListBox1.AddItem "Jul" ListBox1.AddItem "Aug" ListBox1.AddItem "Sep" ListBox1.AddItem "Oct" ListBox1.AddItem "Nov" ListBox1.AddItem "Dec" End Sub
Der obige Code fügt dem Listenfeld die Namen der Monate hinzu, sobald wir das Formular laden.
Ausgewähltes Element aus der ListBox abrufen
Um das Element abzurufen, das der Benutzer in der ListBox ausgewählt hat, verwenden wir die Value-Eigenschaft des Listbox-Objekts.
Hier fügen wir den vom Benutzer ausgewählten Monat zu der Eingabe in der Combobox hinzu.
Private Sub CommandButton1_Click() MsgBox ComboBox1.Value & "-" & ListBox1.Value End Sub
Wenn wir auf die Befehlsschaltfläche klicken, werden die ausgewählten Elemente in der msgbox angezeigt.
CheckBox VBA Control
Die Kontrollkästchen sind die binären Steuerelemente, die auf Wahr oder Falsch gesetzt werden können.
Sie können mehrere Kontrollkästchen haben und mehrere Kontrollkästchen gleichzeitig aktivieren. Dies wird grundsätzlich verwendet, wenn ein Benutzer mehr als eine Option auswählen muss. Wie Multiple-Choice-Fragen.
Um dem Benutzerformular Kontrollkästchen hinzuzufügen, wählen Sie es einfach aus der Toolbox aus und ziehen Sie es in den Bereich des VBA-Benutzerformulars.
Wenn Sie die Kontrollkästchen zum Benutzerformular hinzufügen, lautet der Standardname der Kontrollkästchen wie Kontrollkästchen1, Kontrollkästchen2 usw. Sie können den Namen der Kontrollkästchen über das Eigenschaftsfeld ändern.
Wie verwende ich die Kontrollkästchen im Benutzerformular?
Sobald Sie die Kontrollkästchen hinzufügen, können sie angeklickt werden. Benutzer können sie aktivieren oder deaktivieren. Aber woher wissen wir, welches Kontrollkästchen aktiviert ist und welches nicht?
Wie gesagt, die Kontrollkästchen sind boolesch. Wenn also ein Kontrollkästchen aktiviert ist, ist der Wert True, andernfalls der Wert False.
Der folgende Code aktiviert, welche Kontrollkästchen aktiviert sind, und zeigt sie im Feld Nachricht an.
Private Sub CommandButton1_Click() Dim msg As String If CheckBox1.Value = True Then msg = msg & "CheckBox1 is selected" End If If CheckBox2.Value = True Then msg = msg & vbCrLf & "CheckBox2 is selected" End If MsgBox msg End Sub
Wenn Sie möchten, dass der Benutzer nur eine Option im Benutzerformular auswählen kann, verwenden Sie Optionsfelder.
OptionButton VBA Control
Die Optionsfelder / Optionsfelder werden im VBA-Benutzerformular verwendet, wenn der Benutzer nur eine Option aus den verfügbaren Optionen auswählen soll. Zum Beispiel, wenn Formulare nach Geschlecht, bevorzugter Sprache, Altersgruppe usw. fragen.
Das Optionsfeld kann einfach zum Benutzerformular hinzugefügt werden, indem Sie es aus den Werkzeugen auswählen und auf den Formularbereich ziehen. Optionsfelder für mehrere Optionsfelder mehrmals ziehen und ablegen.
Wie bekomme ich die Auswahl des Optionsfelds / Optionsfelds?
Die Optionsfelder sind Binär. Ihr Wert kann entweder wahr oder falsch sein.
Das ausgewählte Optionsfeld wird auf True gesetzt und alle anderen werden auf false gesetzt. In einer Gruppe ist jeweils nur ein Optionsfeld wahr.
Der folgende Code überprüft einfach, welches Optionsfeld ausgewählt ist, und zeigt die Meldung entsprechend an.
Private Sub CommandButton1_Click() Dim gender As String If OptionButton1.Value = True Then gender = "Male" ElseIf OptionButton2.Value = True Then gender = "female" Else gender = "other" End If MsgBox gender End Sub
Beachten Sie, dass im obigen Beispiel nur ein Optionsfeld im Benutzerformular ausgewählt werden kann. Was aber, wenn Sie mehrere Gruppen von Optionsfeldern haben möchten? In diesem Fall verwenden wir Frames. Und das bringt uns zu …
Frames in VBA UserForm
Die Frames werden verwendet, um Objekte wie Kontrollkästchen und Optionsfelder in Benutzerform zu gruppieren.
Um Frames zu verwenden, ziehen Sie diesen Frame zuerst per Drag & Drop in den Formularbereich und legen Sie dann die anderen Objekte in diesem Frame ab.
Sie können den Namen des Frames anhand der Beschriftung im Eigenschaftenfeld ändern.
Alle Ereignisse sind auch für Frames als andere Userform-Objekte verfügbar. Am besten verwenden wir sie jedoch nur zum Gruppieren von Objekten. Sie können onclick-Ereignisse für fram festlegen, um einige grundlegende Informationen für die darin enthaltenen Objekte zu laden, wenn darauf geklickt wird.
Schaltflächen in VBA UserForm umschalten
Die Umschalttasten sind auch binäre Objekte, die ein- und ausgeschaltet werden können. Mit den Umschalttasten können Sie etwas ein- und ausschalten.
Um dem Benutzerformular eine Umschaltfläche hinzuzufügen, wählen Sie sie einfach aus den Werkzeugen aus und ziehen Sie sie in den Formularbereich.
Der folgende Code wird für das Ereignis onclick der Umschalttaste festgelegt. Es ändert die Farbe der Zelle A1 in Blau, wenn die Umschalttaste gedrückt wird, und setzt sie zurück, wenn die Umschalttaste gedrückt wird.
Private Sub ToggleButton1_Click() If ToggleButton1.Value Then Range("A1").Interior.ColorIndex = 32 Else Range("A1").Interior.ColorIndex = xlColorIndexNone End If End Sub
Befehlsschaltflächen in VBA UserForm
Dies sind die Schaltflächen, mit denen wir den wichtigsten VBA-Code wie Validierungen, Berechnungen, Formularübermittlungen usw. ausführen.
In den obigen Beispielen habe ich die Befehlsschaltfläche verwendet, um das Formular zu senden. Sie können so viele Befehlsschaltflächen im Benutzerformular haben, wie Sie möchten.
Um Codes auszuführen, wenn auf die Schaltfläche geklickt wird, doppelklicken Sie einfach auf die Schaltfläche. Das CommandButton_Click-Ereignis wird geöffnet. Schreiben Sie hier Code, um ihn durch Klicken auf die Befehlsschaltfläche auszuführen.
Der folgende Code wird ausgeführt, wenn Sie auf die Schaltfläche „Fertig“ klicken, und das Benutzerformular wird geschlossen.
Private Sub CommandButton1_Click() Dim gender As String If OptionButton1.Value = True Then gender = "Male" ElseIf OptionButton2.Value = True Then gender = "female" Else gender = "other" End If MsgBox gender Unload UserForm1 'closes userform End Sub
Also ja Leute, das sind die grundlegenden Steuerelemente für Benutzerformulare in VBA. Ich hoffe es war hilfreich. Wenn Sie Zweifel an den Benutzerformular-Steuerelementen und Benutzerformular-Ereignissen haben, schreiben Sie diese in den Kommentaren unten auf.
Verwandte Artikel
Erste Schritte mit Excel VBA UserForms | Die Excel UserForms sind nützlich, um Informationen vom Benutzer abzurufen. Hier ist, wie Sie mit dem Link „VBA-Benutzerformulare“ beginnen sollten: / Benutzerformulare-Eingabefelder-in-VBA-Ändern-des-Wert-Inhalts-mehrerer-Benutzerformular-Steuerelemente-Verwenden-von-VBA-in-Microsoft-Excel [Ändern der Wert / Inhalt mehrerer UserForm-Steuerelemente mit VBA in Excel] | Verwenden Sie dieses einfache VBA-Snippet, um den Inhalt der Benutzerformular-Steuerelemente zu ändern.
`link: / benutzerformulare-eingabefelder-in-vba-verhindern-das-schließen-eines-benutzerformulars-wenn-der-benutzer-auf-die-x-button-klick-mit-vba-in-microsoft-excel klickt [ Verhindern Sie, dass ein Benutzerformular geschlossen wird, wenn der Benutzer mithilfe von VBA in Excel auf die x-Schaltfläche klickt Um zu verhindern, dass das Benutzerformular geschlossen wird, wenn der Benutzer auf die Schaltfläche x des Formulars klickt, verwenden wir das Ereignis UserForm_QueryClose.
Beliebte Artikel:
link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität]
| Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Verknüpfungen können Sie noch schneller in Excel arbeiten.
link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel]
| Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]
| Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen.
Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.
link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel]
| Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen.