So erstellen Sie interaktive Formulare in Excel VBA mit ActiveX-Steuerelementen

Typen von ActiveX-Steuerelementen und deren Verwendung

In Excel VBA werden ActiveX Controls verwendet, um die Interaktivität und Automatisierung in Arbeitsblättern zu verbessern. Im Folgenden finden Sie einige der am häufigsten verwendeten Steuerelemente und deren Verwendung.

1. Textfeld

Die Text Box ermöglicht es Benutzern, Text in einem Excel-UserForm oder -Arbeitsblatt einzugeben oder anzuzeigen. Mit VBA können wir den Inhalt der Text Box festlegen, entweder durch automatisches Ausfüllen der Daten oder durch Empfangen von Eingaben von Benutzern.

So erstellen Sie ein Textfeld in Excel VBA

  1. Öffnen Sie Excel, und aktivieren Sie die  Registerkarte Developer.
  2. Wählen Sie Developer > Insert > Text Box (ActiveX Controls).
  3. Klicken und ziehen Sie, um eine Text Box auf dem Arbeitsblatt zu erstellen.
  4. Um einen VBA-Code hinzuzufügen, klicken Sie mit der rechten Maustaste auf Text Box und wählen Sie dann View Code aus.

VBA-Beispielcode zum automatischen Ausfüllen von Textfeldern

Der folgende Code füllt die Text Box automatisch mit Text auf, wenn er ausgeführt wird:

TextBox1.Text “Data imported successfully”

2. Listenfeld

List Box ist ein Steuerelement, das dazu dient, eine Liste von Auswahlen anzuzeigen, die es dem Benutzer ermöglichen, ein oder mehrere Elemente auszuwählen. Dies ist besonders nützlich in Dateneingabeformularen oder für die Navigation zwischen Seiten in Anwendungen, die Excel VBA verwenden.

So fügen Sie Daten zu einem Listenfeld in Excel VBA hinzu

  1. Öffnen Sie die  Registerkarte Developer in Excel.
  2. Wählen Sie Insert > List Box (ActiveX Controls).
  3. Klicken und ziehen Sie, um die List Box auf dem Arbeitsblatt zu platzieren.
  4. Klicken Sie mit der rechten Maustaste auf List Box > Properties.

Beispiel für VBA-Code zum Hinzufügen von Elementen zum Listenfeld

Verwenden Sie den folgenden VBA-Code, um dem List Box mehrere Städtenamen hinzuzufügen:

With Sheet1.ListBox1
    .AddItem  “Jakarta”
    .AddItem “Surabaya”
    .AddItem “Bandung”
End With

Dieser Code kann in Workbook_Open Ereignis eingefügt werden, so dass die Daten beim Öffnen der Datei automatisch geladen werden.

Verbinden von Listboxen mit Zellen in Excel

Um die ausgewählten Elemente aus dem List Box in einer bestimmten Zelle anzuzeigen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie mit der rechten Maustaste auf List Box und wählen Sie dann Properties.
  2. Suchen Sie die Eigenschaft LinkedCell, und geben Sie dann die Zellenadresse ein (z. B. D3).
  3. Wenn der Benutzer nun ein Element in der List Box auswählt, wird der Wert in der Zelle D3 angezeigt.

Wenn Sie den ausgewählten Wert mithilfe von VBA abrufen möchten, verwenden Sie den folgenden Code:

Range(“D3”).Value =  ListBox1.Value

3. Combo-Box

Combo Box ist ein ActiveX Steuerelement in Excel VBA, das als Liste von Optionen dient, die nach unten gezogen werden können. Benutzer können ein einzelnes Element aus der Liste auswählen oder ihren Text eingeben. Ein Combo Box wird häufig in Eingabeformularen verwendet, um Fehler bei der Dateneingabe zu minimieren, da der Benutzer nur aus den bereitgestellten Optionen wählen kann.

Hinzufügen dynamischer Daten zu einem Kombinationsfeld

Gehen Sie folgendermaßen vor, um einem Arbeitsblatt eine Combo Box hinzuzufügen:

  1. Öffnen Sie Excel, und stellen Sie sicher, dass die Registerkarte Developer aktiviert ist.
  2. Klicken Sie auf Developer > Insert > Combo Box (ActiveX Controls).
  3. Klicken und ziehen Sie, um Combo Box im Arbeitsblatt zu zeichnen.
  4. Klicken Sie mit der rechten Maustaste auf Combo Box und wählen Sie dann Properties aus.

VBA-Beispielcode zum dynamischen Hinzufügen von Elementen zu einem Kombinationsfeld

Verwenden Sie den folgenden Code, um dem Combo Box automatisch Elemente hinzuzufügen, wenn die Arbeitsmappe geöffnet oder auf die Schaltfläche geklickt wird:

ComboBox.Add  Item “Option 1”
ComboBox1.Add Item “Option 2”
ComboBox1.Add Item “Option 3”

Verbinden von Kombinationsfeldern mit Zellen in Excel

Um den ausgewählten Wert im Combo Box in einer bestimmten Zelle zu speichern, führen Sie die folgenden Schritte aus:

  1. Klicken Sie mit der rechten Maustaste auf Combo Box und wählen Sie dann Properties aus.
  2. Suchen Sie die Eigenschaft LinkedCell, und geben Sie dann die Zellenadresse ein (z. B. D3).
  3. Wenn der Benutzer nun ein Element in der Combo Box auswählt, wird dieser Wert in der Zelle D3 angezeigt.

Alternativ können Sie den folgenden VBA-Code verwenden, um den Wert der Option in der Zelle zu speichern:

Range(“D3”).Value  ComboBox1.Value

Neueste Artikel