Wie fülle ich ein Textfeld basierend auf der Auswahl der Combobox in UserForm in Excel aus?
Angenommen, Sie haben eine Tabelle, die eine Spalte mit Namen und eine Mitarbeiternummer enthält (siehe Abbildung unten). Jetzt müssen Sie ein Benutzerformular erstellen, in das ein Kombinationsfeld eingebettet ist, in dem alle Namen erfasst sind, und ein Textfeld, in das die entsprechende Personalnummer eingetragen wird, wenn Sie den Namen aus dem Kombinationsfeld auswählen. Die Methode in diesem Artikel kann Ihnen dabei helfen, das Problem zu beheben.
Füllen Sie das Textfeld basierend auf der Combobox-Auswahl in Userform mit VBA aus
Füllen Sie das Textfeld basierend auf der Combobox-Auswahl in Userform mit VBA aus
Gehen Sie wie folgt vor, um das Textfeld mit dem entsprechenden Wert basierend auf der Auswahl der Combobox im Benutzerformular zu füllen.
1. Drücken Sie die Taste Andere + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
2. In dem Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > Benutzerformular. Siehe Screenshot:
3. Fügen Sie dann ein Kombinationsfeld-Steuerelement und ein Textfeld-Steuerelement in das erstellte Benutzerformular ein (siehe Abbildung unten).
4. Klicken Sie mit der rechten Maustaste auf eine leere Stelle im Benutzerformular, und klicken Sie dann auf Code anzeigen aus dem Kontextmenü. Siehe Screenshot:
5. Kopieren Sie im sich öffnenden Fenster Userform (Code) den folgenden VBA-Code und fügen Sie ihn ein, um das Original zu ersetzen.
VBA-Code: Füllen Sie das Textfeld basierend auf der Auswahl der Combobox im Benutzerformular aus
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
Note: Im Code ist A2:B2 der Bereich, der die Werte enthält, die Sie separat sowohl im Kombinationsfeld als auch im Textfeld des Benutzerformulars ausfüllen. Und Sheet5 ist der Name des Arbeitsblatts, das den Datenbereich enthält. Bitte ändern Sie sie nach Bedarf.
6. Drücken Sie die Taste Andere + Q Tasten zum Verlassen des Microsoft Visual Basic für Applikationen Fenster.
7 Klicken Entwickler:in / Unternehmen > Insert > Befehlsschaltfläche (ActiveX Control) um eine Befehlsschaltfläche in das Arbeitsblatt einzufügen.
8. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte und wählen Sie aus Code anzeigen aus dem Rechtsklick-Menü. Kopieren Sie dann den VBA-Code und fügen Sie ihn in das Codefenster ein.
VBA-Code: Benutzerformular anzeigen
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub
9. Deaktivieren Sie den Entwurfsmodus in der Arbeitsmappe.
Klicken Sie auf die Befehlsschaltfläche, um das angegebene Benutzerformular zu öffnen. Dann können Sie sehen, dass alle Namen im Kombinationsfeld gesammelt sind. Wenn Sie einen Namen aus dem Kombinationsfeld auswählen, wird die entsprechende Notenzeilennummer automatisch in das Textfeld eingefügt, wie im folgenden Screenshot gezeigt.
In Verbindung stehende Artikel:
- Wie fülle ich ein Kombinationsfeld mit den angegebenen Daten in der geöffneten Arbeitsmappe?
- Wie fülle ich andere Zellen automatisch aus, wenn ich Werte in der Excel-Dropdown-Liste auswähle?
- Wie fülle ich andere Zellen automatisch aus, wenn ich Werte in der Excel-Dropdown-Liste auswähle?
- Wie fülle ich Google-Suchergebnisse in Excel in ein Arbeitsblatt ein?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!