VBA ComboBox - Wie erstelle und verwende ich ComboBox in VBA?

Inhaltsverzeichnis

Excel VBA ComboBox

ComboBox ist die Benutzerformularfunktion in VBA . Sie unterscheidet sich von den Textfeldern, da Textfelder nur Text enthalten und der Benutzer jede Art von Daten eingeben kann. Durch die Verwendung von Kombinationsfeldern wird der Benutzer jedoch auf den gewünschten Antworttyp beschränkt Damit die Daten in geordneter Weise vorliegen, ähnelt sie der Validierung der Listendaten in Excel.

ComboBox kann mit einer Dropdown-Liste in Excel in Arbeitsblättern verglichen werden. Wir haben die Datenüberprüfung verwendet, um ein Dropdown-Menü bereitzustellen. In VBA gibt es jedoch eine Benutzerformularfunktion, mit der ein Dropdown-Menü in einem beliebigen Benutzerformular bereitgestellt werden kann. Wenn wir jedoch ein Kombinationsfeld in Excel verwenden möchten, können wir dies tun Greifen Sie auch über den Entwicklerbereich darauf zu. Von dort aus können Sie Kombinationsfelder für einzelne oder mehrere Zellen erstellen.

Das Kombinationsfeld ist der Dropdown-Liste in einem Excel-Arbeitsblatt sehr ähnlich. Mit dem Kombinationsfeld können wir vordefinierte Werte speichern, sodass Benutzer die Auswahl aus der Liste im Kombinationsfeld verfügbar machen. Das Kombinationsfeld wird im Allgemeinen zusammen mit Benutzerformularen verwendet, um die Eingaben der Benutzer zu erhalten.

Benutzerformulare sind nützlich, aber andere Tools im Benutzerformular machen das Benutzerformular so besonders. Eines der Tools, die wir häufig als Tool für Benutzerformulare verwenden, ist "ComboBox".

Top 2 Möglichkeiten zum Erstellen einer VBA-ComboBox

# 1 - Verwenden der direkten Codierung

Zuerst werden wir sehen, wie Combo Box mit dem Arbeitsblatt verwendet wird. Öffnen Sie eines der Arbeitsblätter in der Excel-Arbeitsmappe, wechseln Sie zur Registerkarte Entwickler, und unter dieser Registerkarte befindet sich ein Tool namens "Einfügen". Klicken Sie darauf, und darunter haben wir zwei Optionen: ActiveX-Steuerelemente und Formularsteuerelemente in Excel.

Wählen Sie unter "Active X Controls" die Option "Combo Box".

Jetzt können Sie dieses Objekt auf jedes Arbeitsblatt zeichnen.

Klicken Sie mit der rechten Maustaste auf das Kombinationsfeld und wählen Sie die Option "Eigenschaften".

Wenn Sie Eigenschaften auswählen, wird eine große Liste von Eigenschaften eines Kombinationsfelds geöffnet.

Für dieses Kombinationsfeld geben wir eine Liste der Abteilungsnamen an. Ändern Sie daher die Namenseigenschaft des Kombinationsfelds in "DeptComboBox".

Jetzt wird dieses Kombinationsfeld mit dem Namen "DeptComboBox" bezeichnet. Wir müssen vordefinierte Abteilungsnamen angeben, daher habe ich hier eine Liste von Abteilungsnamen.

Jetzt müssen wir diese Werte zur Kombinationsfeldliste hinzufügen. Wir können dies auf zwei Arten tun, durch Codierung oder durch Namensmanager.

Doppelklicken Sie auf die Combobox, um zur VBA-Makroprozedur zu gelangen.

Diese Abteilungsnamen müssen jedoch angezeigt werden, wenn die Arbeitsmappe geöffnet wird. Doppelklicken Sie also auf "ThisWorkbook".

Wählen Sie aus der Dropdown-Liste "Arbeitsmappe".

Wählen Sie aus den Optionen "Öffnen".

Jetzt wird ein Leerzeichen wie das folgende erstellt.

Geben Sie in dieses Makro den folgenden Code ein.

Code:

Private Sub Workbook_Open() With Worksheets("Sheet1").DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End With End Sub

Ok, now save and close the workbook. When you reopen the workbook, we could see the department names in it.

#2 - Using UserForm

Another way of adding values to the ComboBox is by using user form. First, give a name to cells as “Department.”

Go to Visual Basic Editor and insert User Form from the INSERT option.

Now the new user form is created.

Next to the user form, we can see “Toolbox” from this toolbox, we can insert “Combo Box.”

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

Private Sub CommandButton1_Click () Dim LR As Long LR = Zellen (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (LR, 1) .Value = TextBox1.Value Cells (LR, 2) .Value = ComboBox1 .Wert End Sub

Doppelklicken Sie nun auf die Schaltfläche „CANCEL“ und fügen Sie den folgenden Code hinzu.

Erstellen Sie nun im Arbeitsblatt eine Vorlage wie die folgende.

Führen Sie nun das Benutzerformular aus, und es wird wie folgt geöffnet.

Geben Sie den Mitarbeiternamen ein und wählen Sie den Abteilungsnamen aus der Kombinationsliste aus.

Klicken Sie auf die Schaltfläche SENDEN und sehen Sie die Magie.

Wir haben die Werte in dem von uns erstellten Tabellenformat eingegeben.

Dinge, an die man sich erinnern sollte

  • COMBO BOX hat auch eigene Eigenschaften.
  • Das Hinzufügen von Werten zur Liste erfolgt auf zwei Arten. Eine ist eine Codierungsmethode und eine andere ist eine Referenz für Bereichsnamen.
  • COMBO BOX ist normalerweise Teil des Benutzerformulars.

Interessante Beiträge...