VBA-Listenfeld

Das Listenfeld in VBA ist eine Liste, die einer Variablen zugewiesen ist, und die Liste enthält verschiedene Eingaben, aus denen Sie auswählen können. Aus dem Listenfeld können mehrere Optionen gleichzeitig ausgewählt werden. Das Listenfeld kann durch Auswahl der Liste zu einem Benutzerformular in Excel VBA erstellt werden Box-Option und Zeichnen auf dem Benutzerformular für ein Listenfeld Wir haben einen benannten Bereich, der bestimmte Werte zur Auswahl in einem Listenfeld hat.

Was ist das Listenfeld in Excel VBA?

Ein Listenfeld ist eine Liste, aus der ein Benutzer ein Element auswählen kann. Das Listenfeld in Excel VBA kann verwendet werden, wenn Sie eine Liste von Werten anzeigen möchten, aus denen Benutzer auswählen können.

Wie erstelle ich ein Listenfeld in Excel?

Gehen Sie folgendermaßen vor, um das Listenfeld im Excel-Arbeitsblatt zu erstellen:

Zunächst müssen Sie die Registerkarte Entwickler aktivieren, die in der Multifunktionsleiste angezeigt wird, damit Sie zu den Steuerbefehlen VBA und ActiveX gelangen. Um die erhalten Entwickler Registerkarte das bringen Excel - Optionen Dialogfeld auf Anpassen Band in Excel , und wählen Sie das Entwickler - Kontrollkästchen.

  • Klicken Sie auf die Excel-Multifunktionsleiste, wählen Sie die Registerkarte Entwickler aus, klicken Sie auf Einfügen und dann auf das Steuerelement Listenfeld, um das neue Listenfeld in das Excel-Arbeitsblatt einzufügen.

  • Zeichnen Sie anschließend ein Rechteck in das Excel-Arbeitsblatt, um das Listenfeld in Excel zu erstellen.

  • Klicken Sie bei Auswahl des Listenfelds in Excel auf die Registerkarte Entwickler und wählen Sie die Eigenschaften aus. Das Eigenschaftenfenster wird geöffnet.

  • Geben Sie im Eigenschaftenfenster für die Einstellung Listenfüllbereich Tage ein - den benannten Bereich mit den Wochentagen.

  • Klicken Sie in die Eigenschaft Multi Select und wählen Sie aus der Dropdown-Liste 1-fmMultiSelectMulti aus, wie im folgenden Screenshot gezeigt.

  • Klicken Sie in die Eigenschaft Listenstil und wählen Sie in der Dropdown-Liste 1-fmListStyleOption aus. Dadurch werden links neben den Listenelementen Kontrollkästchen hinzugefügt, wie im folgenden Screenshot gezeigt.

  • Schließen Sie das Eigenschaftenfenster.

Sie können den Entwurfsmodus schließen, indem Sie auf den Entwurfsmodus klicken.

Wie erstelle ich ein Listenfeld in Excel VBA?

Sie können das folgende Beispiel zum besseren Verständnis der VBA-Listenbox betrachten:

Sie können diese Excel-Vorlage für Listenfelder hier herunterladen - Excel-Vorlage für Listenfelder

Beispiel 1

Um dieses Listenfeld mit einer Zelle zu verknüpfen, klicken Sie mit der rechten Maustaste auf das Listenfeld (stellen Sie sicher, dass der Entwurfsmodus ausgewählt ist) und klicken Sie auf Eigenschaften. Füllen Sie B17 für Linked Cell aus, wie im folgenden Screenshot gezeigt.

Monat Listenname als Monat Gehen Sie zu den Eigenschaften und wählen Sie Listenfüllbereich als Monat.

 

Die Daten ändern sich in Zelle B17, wenn Sie Ihre Auswahl im Listenfeld ändern (siehe Abbildung unten).

Beispiel 2 - Wie erstelle ich ein Listenfeld in einem Benutzerformular?

  • Gehen Sie zur Registerkarte "Entwickler" und klicken Sie im Code auf "Visual Basic" oder drücken Sie Alt + F11.

  • Gehen Sie zum Menü Einfügen und klicken Sie auf UserForm.

  • Ziehen Sie das Listenfeld Steuerelement auf dem Benutzerformular aus der Toolbox.

  • Doppelklicken Sie auf die UserForm und wählen Sie das Userform-Ereignis aus, wie im folgenden Screenshot gezeigt.

  • Fügen Sie nun den folgenden Code zur Zwischenprozedur hinzu.

Private Sub UserForm_Initialize ()

ListBox1.AddItem “MBA”

ListBox1.AddItem "MCA"

ListBox1.AddItem "MSC"

ListBox1.AddItem “MECS”

ListBox1.AddItem "CA"

End Sub

 

  • Drücken Sie jetzt 'F5', um den Code auszuführen.

Beispiel 3 - Hinzufügen eines dynamischen Listenfeldsteuerelements

Fügen Sie dem Benutzerformular mithilfe von VBA ein dynamisches Listenfeldsteuerelement hinzu

  • Fügen Sie im Benutzerformular eine Befehlsschaltfläche aus der Toolbox hinzu.

  • Klicken Sie mit der rechten Maustaste auf die Befehlsschaltfläche und klicken Sie auf Eigenschaften

  • Ändern Sie die Beschriftung der Befehlsschaltfläche in "Create_Listbox".

  • Doppelklicken Sie auf die Befehlsschaltfläche
  • Jetzt wird der folgende Code angezeigt.

Private Sub CommandButton1_Click ()

End Sub

  • Rufen Sie die folgende Prozedur mit dem Namen 'Add_Dynamic_Listbox' auf und suchen Sie die folgende auszuführende Prozedur.

Sub Add_Dynamic_Listbox ()

'Dynamisches Listenfeld hinzufügen und dem Objekt' LstBx 'zuweisen

Setzen Sie LstBx = UserForm3.Controls.Add ("Forms.ListBox.1")

'Listenfeldposition

LstBx.Left = 20

LstBx.Top = 10

End Sub

  • Klicken Sie nun auf F5, um das Makro auszuführen.
Wie füge ich Elemente zur Listenfeldsteuerung in VBA hinzu?

Private Sub Insert _Items _To_LstBox ()

ListBox1.AddItem “Item 1”

ListBox1.AddItem “Item 2”

ListBox1.AddItem “Item 3”

ListBox1.AddItem “Item 4”

ListBox1.AddItem “Item 5”

End Sub

Wie lösche ich Elemente aus der Listenfeldsteuerung mit VBA?

Sub Clr_LstBx ()

UserForm3.ListBox1.Clear

End Sub

Beispiel 4

Angenommen, wir haben Verkaufsdaten und möchten die Verkaufsdetails der grafischen Benutzeroberfläche durch Auswahl des Listenfelds Artikelauswahl. Dann müssen wir die ausgewählte Indexzelle als Zellenverknüpfung ändern und die VLOOKUP-Formel anwenden, um die Verkaufsdetails abzurufen, wie in den folgenden Screenshots gezeigt.

Wichtige Informationen zum Listenfeld in Excel VBA

Über ein Listenfeld in Excel können mehrere Elemente ausgewählt werden.