Eine Combobox in einem Benutzerformular ähnelt einem Dropdown-Menü, mit dem Sie eine Option aus den verfügbaren Optionen auswählen können. Es ist wie das Dropdown-Menü, das wir mithilfe der Datenüberprüfung auf Arbeitsblättern erstellen.

In den meisten digitalen Formularen muss mindestens ein Kombinationsfeld vorhanden sein. Es könnte für die Auswahl eines Staates aus einer Liste von Staaten, eines Kurses aus einer Liste von Kursen, eines Landes aus einer Liste von Ländern usw. gewesen sein. In diesem Artikel erfahren Sie, wie Sie eine Combobox in ein VBA-Benutzerformular einfügen, wie Initialisieren der Combobox mit Werten und 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 zum Einfügen und klicken Sie auf Benutzerformular. Sie haben ein Benutzerformular hinzugefügt. Weitere Informationen zu Benutzerformularen finden Sie unter VBA-hier.

image

Wählen Sie nun aus der Toolbox die Combobox. Es ist die vierte Option in der obersten Reihe. Wenn Sie die Toolbox nicht sehen können. Gehen Sie im Menü zu Ansicht und klicken Sie auf Toolbox. Die Toolbox wird angezeigt.

image

Ich habe eine Bezeichnung für Zustände hinzugefügt, da diese Combobox eine Liste einiger Zustände und eine Schaltfläche zum Senden 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 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 auf der Schaltfläche erfolgen, auf der Sie das Formular laden. Der Code zum Laden der Combobox-Liste sollte vor dem Befehl formname.show stehen.

Combobox in UserForm-Aufruf-Subroutine laden

Angenommen, ich möchte ein Array in der Status-Combobox fest codieren. Also werde ich eine Unterroutine schreiben, die das Benutzerformular lädt, um Informationen zu fü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 „Staaten“, das einige Namen von indischen Staaten enthält.

Jetzt verwende ich den Benutzerformularnamen, um auf die Combobox zuzugreifen, da die Combobox Teil des Benutzerformulars ist.

Der Name meines Benutzerformulars lautet userform1. Und der Name der Combobox lautet combobox1. Dies sind Standardnamen. Sie können sie im Eigenschaftenfenster ändern.

Als nächstes initialisiere ich die List-Eigenschaft der Combobox mit Status.

Und dann zeige ich das Benutzerformular1 mit dem Befehl show.

Wenn Sie den obigen Code ausführen, werden in der Combobox alle Status aufgelistet.

image

Combobox mit UserForm_Initialize () -Ereignis initialisieren.

Eine andere Methode zum Laden von Combobox-Komponenten in das Benutzerformular ist die Verwendung des Benutzerformularereignisses 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 Benutzerformular, um den Codierungsbereich im Benutzerformularobjekt zu öffnen. Wählen Sie nun im linken Dropdown-Menü das Benutzerformular aus. Wählen Sie dann im rechten Dropdown-Menü die Option Initialisieren.

image

Ein leerer Untername UserForm_Initialize () wird eingefügt. Alles, was in diesem Sub geschrieben ist, 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 befindet sich 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 Makroelement aus. Während der Compiler den Befehl code userform1.show ausführt, führt er sofort das Ereignis useforma_initialize () aus. Anschließend wird den Benutzern das Benutzerformular angezeigt.

Hinweise:

Wenn Sie den Code zum Initialisieren der Combobox mit Werten in der Befehlsschaltfläche 1 schreiben, zeigt die Combobox nichts an.

Um die Combobox mit Werten zu initialisieren, laden Sie sie in jedem Fall, bevor der Benutzer die zu füllende Combobox erreicht.

Abrufen des Werts aus der ComboBox Wir verwenden also Formulare, um einige Informationen zu erhalten. Und um diese Informationen zu verwenden, müssen wir sie abrufen. Um einen Wert aus der Benutzerformular-Combobox zu erhalten, verwenden wir die Eigenschaft combobox.value. Im Allgemeinen rufen wir die Werte aus Formularelementen ab, sobald der Benutzer das Formular ausgefüllt und das Formular über die Schaltfläche „Senden“ gesendet hat. Wir können also das Ereignis commandbutton_click verwenden. Fügen Sie also eine Befehlsschaltfläche ein und schreiben Sie „Senden“ darauf, falls Sie diese noch nicht haben. Doppelklicken Sie nun darauf und Sie befinden sich im Befehl commandButton_click.

Erstellen Sie nun eine Variable, um den Wert zu speichern. Speichern Sie es auf einem Blatt, wenn Sie möchten. Beenden Sie das Formular schließlich 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 benutzt ihr Combobox in VBA-Benutzerformularen. Ich hoffe ich war erklärend und auf den Punkt. Wenn Sie Fragen zu diesem Thema oder zu anderen VBA-Fragen haben, wenden Sie sich an mich im Kommentarbereich unten.

Verwandte Artikel:

link: / Applications-Word-Outlook-in-VBA-Erste Schritte mit Excel-VBA-Benutzerformularen [Erste Schritte mit Excel VBA UserForms] | * Ich werde erklären, wie man ein Formular in Excel erstellt und wie man es verwendet VBA-Toolbox, wie man Benutzereingaben behandelt und schließlich die Benutzereingaben speichert. Wir werden diese Themen anhand eines Beispiels und einer Schritt-für-Schritt-Anleitung durchgehen.

link: / allgemeine-themen-in-vba-vba-variablen-in-excel [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 bestimmte Schlüsselwörter sind.

link: / allgemeine-themen-in-vba-excel-vba-variablenbereich [Excel VBA-Variablenbereich] | * 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 verfügt über Bereichsspezifizierer.

link: / Zellenbereiche-Zeilen-und-Spalten-in-vba-was-ist-der-Unterschied-zwischen-byref-und-byval-Argumenten-vba-Interview-Frage [ByRef- und ByVal-Argumente] | Wenn ein Argument als ByRef-Argument an ein anderes Sub oder eine andere Funktion übergeben wird, wird die Referenz der tatsächlichen Variablen gesendet. Alle Änderungen, die an der Kopie der Variablen vorgenommen werden, werden im ursprünglichen Argument wiedergegeben.

link: / files-arbeitsmappe-und-arbeitsblätter-in-vba-lösche-blätter-ohne-bestätigungs-aufforderungen-mit-vba-in-microsoft-excel [lösche blätter ohne bestätigungs-aufforderungen 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.

link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Neue Arbeitsmappe mit VBA in Microsoft Excel 2016 hinzufügen und speichern] | 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 Operationen an dieser neuen Arbeitsmappe problemlos ausführen können. Wie Speichern, Schließen, Löschen usw. `link: / menüs-Symbolleisten-Statusleiste-in-vba-Anzeige-einer-Nachricht-in-der-Statusleiste-mit-vba-in-Microsoft-Excel [Anzeige einer Nachricht ein Die 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.

link: / allgemeine-themen-in-vba-ausschalten-warnwarnmeldungen-mit-vba-in-microsoft-excel [Warnmeldungen mit VBA in Microsoft Excel 2016 ausschalten] | * Dieser Code deaktiviert nicht nur VBA Warnungen, erhöht aber auch die Zeiteffizienz des Codes. Mal sehen, wie.

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 bestimmte Werte 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.