Wie füllt man ein Textfeld basierend auf der Auswahl eines Kombinationsfelds im UserForm in Excel aus?
Angenommen, Sie haben eine Tabelle mit einer Namens- und einer Personalnummer-Spalte, wie im folgenden Screenshot gezeigt. Nun müssen Sie ein Userform erstellen, das ein Kombinationsfeld mit allen Namen enthält und ein Textfeld, das die entsprechende Personalnummer anzeigt, wenn ein Name aus dem Kombinationsfeld ausgewählt wird. Die Methode in diesem Artikel kann Ihnen dabei helfen.
Textfeld basierend auf der Auswahl des Kombinationsfelds im Userform mit VBA ausfüllen
Textfeld basierend auf der Auswahl des Kombinationsfelds im Userform mit VBA ausfüllen
Bitte gehen Sie wie folgt vor, um das Textfeld basierend auf der Auswahl im Kombinationsfeld im Userform auszufüllen.
1. Drücken Sie die Tasten Alt + F11, um das Fenster Microsoft Visual Basic for Applications zu öffnen.
2. Klicken Sie im Fenster Microsoft Visual Basic for Applications auf Einfügen > Userform. Siehe Screenshot:
3. Fügen Sie dann ein Kombinationsfeld-Steuerelement und ein Textfeld-Steuerelement in das erstellte Userform ein, wie im folgenden Screenshot gezeigt.
4. Klicken Sie mit der rechten Maustaste auf einen leeren Bereich des Userforms und wählen Sie Code anzeigen aus dem Kontextmenü. Siehe Screenshot:
5. Kopieren Sie im sich öffnenden Userform (Code)-Fenster den folgenden VBA-Code und fügen Sie ihn ein, um den ursprünglichen Code zu ersetzen.
VBA-Code: Textfeld basierend auf der Auswahl des Kombinationsfelds im Userform ausfüllen
Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
Set xRg = Worksheets("Sheet5").Range("A2:B8")
Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub
Hinweis: Im Code ist A2:B2 der Bereich, der die Werte enthält, die Sie separat im Kombinationsfeld und im Textfeld des Userforms ausfüllen möchten. Und Sheet5 ist der Name des Arbeitsblatts, das den Datenbereich enthält. Bitte ändern Sie diese Angaben nach Bedarf.
6. Drücken Sie die Tasten Alt + Q, um das Fenster Microsoft Visual Basic for Applications zu schließen.
7. Klicken Sie auf Entwickler > Einfügen > Befehlsschaltfläche (ActiveX-Steuerelement), um eine Befehlsschaltfläche in das Arbeitsblatt einzufügen.
8. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte und wählen Sie Code anzeigen aus dem Rechtsklick-Menü. Kopieren Sie dann den VBA-Code und fügen Sie ihn in das Codefenster ein.
VBA-Code: Userform anzeigen
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub
9. Schalten Sie den Entwurfsmodus im Arbeitsbuch aus.
Klicken Sie auf die Befehlsschaltfläche, um das angegebene Userform zu öffnen. Dann sehen Sie, dass alle Namen im Kombinationsfeld gesammelt sind. Wenn Sie einen Namen aus dem Kombinationsfeld auswählen, wird die entsprechende Personalnummer automatisch in das Textfeld eingetragen, wie im folgenden Screenshot gezeigt.
Verwandte Artikel:
- Wie füllt man ein Kombinationsfeld beim Öffnen der Arbeitsmappe mit bestimmten Daten?
- Wie füllt man andere Zellen automatisch aus, wenn Werte in einer Dropdown-Liste in Excel ausgewählt werden?
- Wie füllt man andere Zellen automatisch aus, wenn Werte in einer Dropdown-Liste in Excel ausgewählt werden?
- Wie zeigt man Google-Suchergebnisse in einem Arbeitsblatt in Excel an?
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!