Eine Combobox in einem Benutzerformular ist wie ein Dropdown-Menü, das verwendet werden kann, um eine Option aus den verfügbaren Optionen auszuwählen. Es ist wie das Dropdown-Menü, das wir mithilfe der Datenvalidierung auf Arbeitsblättern erstellen.
In den meisten digitalen Formularen müssen Sie mindestens ein Kombinationsfeld gesehen haben. Dies könnte für die Auswahl eines Bundesstaates aus einer Liste von Bundesstaaten, eines Kurses aus einer Kursliste, eines Landes aus einer Länderliste usw zum Initialisieren der Combobox mit Werten und zum Abrufen von Werten aus der Combobox.
Hinzufügen einer ComboBox zum Benutzerformular
Um einem Benutzerformular eine Combobox hinzuzufügen, benötigen Sie zunächst ein Benutzerformular. Dah!.
Öffnen Sie also VBE mit STRG+F11. Klicken Sie mit der rechten Maustaste auf die Arbeitsmappe, gehen Sie zu Einfügen und klicken Sie auf Benutzerformular. Sie haben ein Benutzerformular hinzugefügt. Weitere Informationen zu Benutzerformularen in VBA finden Sie hier.
Wählen Sie nun aus der Toolbox die Combobox. Dies ist die vierte Option in der obersten Reihe. Wenn Sie die Toolbox nicht sehen können. Gehen Sie im Menü auf Ansicht, klicken Sie auf Toolbox. Die Toolbox wird angezeigt.
Ich habe eine Bundesstaatenbezeichnung hinzugefügt, da dieses Kombinationsfeld eine Liste einiger Bundesstaaten und eine Senden-Schaltfläche zum Senden des Formulars enthält.
Wie initialisiere ich eine Combobox im Benutzerformular?
Dies ist der Teil, in dem die meisten Menschen Fehler machen. Manchmal schreiben die Lernenden den Code zum Laden von Werten in die Combobox und senden dann die Schaltflächen. Und wenn sie das Benutzerformular laden, zeigt die Combobox keine Werte an.
Um die Combobox zu laden, sollten Sie den Code schreiben, bevor Sie das Benutzerformular laden. Dies kann im Modul, c oder der Schaltfläche, über die Sie das Formular laden, erfolgen. Der Code zum Laden der Combobox-Liste sollte vor dem Befehl formname.show stehen.
Combobox in UserForm Calling Subroutine laden
Nehmen wir an, ich möchte ein Array in der State-Combobox hart codieren. Also werde ich eine Subroutine schreiben, die das Benutzerformular lädt, um Informationen auszufüllen. Siehe den folgenden Code.
Sub load_userform() States = Array("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = States UserForm1.Show End Sub
Ich definiere ein Array "states", das einige Namen indischer Bundesstaaten enthält. Jetzt verwende ich den Userform-Namen, um auf die Combobox zuzugreifen, da die Combobox ein Teil von Userform ist.
Der Name meines Benutzerformulars ist userform1. Und der Name von Combobox ist combobox1. Dies sind Standardnamen. Sie können sie im Eigenschaftsfenster ändern.
Als nächstes initialisiere ich die Listeneigenschaft der Combobox mit Zuständen.
Und dann zeige ich die userform1 mit dem show-Befehl.
Wenn Sie den obigen Code ausführen, enthält die Combobox alle aufgelisteten Zustände.
Initialisieren der Combobox mit dem UserForm_Initialize()-Ereignis.
Eine andere Methode zum Laden von Combobox-Komponenten in ein Benutzerformular ist die Verwendung des Benutzerformular-Ereignisses Initialize. Dieses Ereignis wird ausgeführt, bevor das Benutzerformular geladen wird. Alles, was Sie tun möchten, bevor das Benutzerformular geladen wird, können Sie hier tun. Eines dieser Dinge ist das Laden von Combobox-Elementen.
Doppelklicken Sie also auf Userform, um den Coding-Bereich im Userform-Objekt zu öffnen. Wählen Sie nun aus dem linken Dropdown-Menü Benutzerformular aus. Wählen Sie dann im rechten Dropdown-Menü die Option Initialisieren.
Ein leerer Untername UserForm_Initialize() wird eingefügt. Alles, was in dieses Untermenü geschrieben wird, wird ausgeführt, bevor das Benutzerformular angezeigt wird.
Also schreiben wir hier den Initialisierungscode für die Combobox.
Private Sub UserForm_Initialize() States = Array("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = States End Sub
Beachten Sie, dass wir hier keinen Befehl userform1.show haben. Es ist immer noch in diesem Modul. Dieses Sub wird verwendet, um unser Benutzerformular auf dem Bildschirm anzuzeigen.
Sub load_userform() UserForm1.Show End Sub
Daher führen Benutzer load_userform sub mit einem Befehl, einer Schaltfläche oder einem zugewiesenen Makroelement aus. Wenn der Compiler den Code-Befehl userform1.show ausführt, führt er sofort das Ereignis useforma_initialize() aus. Danach zeigt es den Benutzern das Benutzerformular an.
Anmerkungen:
Wenn Sie den Code schreiben, um das Kombinationsfeld mit Werten in Befehlsbutton1 zu initialisieren, zeigt das Kombinationsfeld nichts an.
Um die Combobox mit Werten zu initialisieren, laden Sie sie in jedem Fall, der eintritt, bevor der Benutzer die Combobox zum Füllen erreicht.
Wert aus ComboBox abrufen
Daher verwenden wir Formulare, um einige Informationen zu erhalten. Und um diese Informationen zu verwenden, müssen wir sie abrufen. Um einen beliebigen Wert aus der Userform-Combobox zu erhalten, verwenden wir die Eigenschaft combobox.value. Im Allgemeinen rufen wir die Werte von Formularelementen ab, sobald der Benutzer das Formular ausfüllt und das Formular über die Schaltfläche „Senden“ abschickt. Wir können also das Ereignis commandbutton_click verwenden. Fügen Sie also eine Befehlsschaltfläche ein und schreiben Sie "Submit" darauf, wenn Sie sie noch nicht haben. Doppelklicken Sie nun darauf und Sie befinden sich im Ereignis commandButton_click.
Erstellen Sie nun eine Variable, um den Wert zu speichern. Speichern Sie es auf einem Blatt, wenn Sie möchten. Beenden Sie schließlich das Formular mit dem Befehl Unload Me. Wie im folgenden Code gezeigt.
Private Sub CommandButton1_Click() State = ComboBox1.Value ThisWorkbook.Worksheets("sheet1").Range("A1") = State Unload Me End Sub
Also ja, Leute, so verwenden Sie die Combobox in VBA-Benutzerformularen. Ich hoffe, ich war erklärend und auf den Punkt gebracht. Wenn Sie Fragen zu diesem Thema oder zu anderen VBA-bezogenen Fragen haben, fragen Sie mich im Kommentarbereich unten.
Erste Schritte mit Excel VBA UserForms| Ich werde erklären, wie Sie ein Formular in Excel erstellen, wie Sie die VBA-Toolbox verwenden, wie Sie Benutzereingaben verarbeiten und schließlich die Benutzereingaben speichern. Wir werden diese Themen anhand eines Beispiels und einer Schritt-für-Schritt-Anleitung durchgehen.
VBA-Variablen in Excel| VBA steht für Visual Basic für Applikationen. Es ist eine Programmiersprache von Microsoft. Es wird mit Microsoft Office-Anwendungen wie MSExcel, MS-Word und MS-Access verwendet, während VBA-Variablen spezifische Schlüsselwörter sind.
Gültigkeitsbereich von Excel-VBA-Variablen| In allen Programmiersprachen haben wir Variablenzugriffsspezifizierer, die definieren, von wo aus auf eine definierte Variable zugegriffen werden kann. Excel VBA ist keine Ausnahme. Auch VBA hat Bereichsspezifizierer.
ByRef- und ByVal-Argumente | Wenn ein Argument als ByRef-Argument an eine andere Unterfunktion oder Funktion übergeben wird, wird die Referenz der tatsächlichen Variablen gesendet. Alle Änderungen, die an der Kopie der Variablen vorgenommen werden, spiegeln sich im ursprünglichen Argument wider.
Löschen Sie Blätter ohne Bestätigungsaufforderung mit VBA in Microsoft Excel | Da Sie Blätter mit VBA löschen, wissen Sie, was Sie tun. Sie möchten Excel anweisen, diese Warnung nicht anzuzeigen und das verdammte Blatt zu löschen.
Hinzufügen und Speichern einer neuen Arbeitsmappe mit VBA in Microsoft Excel 2016| In diesem Code haben wir zuerst einen Verweis auf ein Arbeitsmappenobjekt erstellt. Und dann haben wir es mit einem neuen Arbeitsmappenobjekt initialisiert. Der Vorteil dieses Ansatzes besteht darin, dass Sie Vorgänge in dieser neuen Arbeitsmappe problemlos ausführen können. Wie Speichern, Schließen, Löschen usw.
Anzeigen einer Nachricht in der Excel VBA-Statusleiste| Die Statusleiste in Excel kann als Codemonitor verwendet werden. Wenn Ihr VBA-Code lang ist und Sie mehrere Aufgaben mit VBA ausführen, deaktivieren Sie häufig die Bildschirmaktualisierung, damit dieser Bildschirm nicht flackert.
Deaktivieren Sie Warnmeldungen mit VBA in Microsoft Excel 2016| Dieser Code deaktiviert nicht nur VBA-Warnungen, sondern erhöht auch die Zeiteffizienz des Codes. Mal sehen wie.
Populäre Artikel:
50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.
Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.
ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um bestimmte Werte zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.
So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.