Tipp: Andere Sprachen sind Google-Übersetzungen. Sie können die English Version dieses Links.
Einloggen
x
or
x
x
Registrieren
x

or

Wie füllt man Textfelder auf Basis der Combobox-Auswahl auf UserForm in Excel?

Angenommen, Sie haben eine Tabelle, die eine Spalte Name und eine Staff-Nummer enthält, wie unten gezeigt. Jetzt müssen Sie ein Benutzerformular erstellen, das in ein Kombinationsfeld eingebettet ist, in dem alle Namen gesammelt werden, und ein Textfeld, das die entsprechende Personalnummer enthält, wenn Sie den Namen aus dem Kombinationsfeld auswählen. Die Methode in diesem Artikel kann Ihnen dabei helfen, den Fehler zu beheben.

Füllen Sie die Textbox basierend auf der Auswahl der Combobox in der Benutzerform mit VBA


Einfaches Einfügen oder Löschen mehrerer Kontrollkästchen in großen Mengen in Excel:

Die Stapel einfügen Kontrollkästchen Dienstprogramme von Kutools for Excel kann Ihnen helfen, schnell mehrere Kontrollkästchen gleichzeitig im ausgewählten Bereich einzufügen. Und Sie können alle Kontrollkästchen im ausgewählten Bereich mit der löschen Stapel löschen Kontrollkästchen. Siehe Screenshot:

Kutools for Excel: mit mehr als 200 praktischen Excel-Add-Ins, die Sie in 60-Tagen kostenlos ausprobieren können. Download und kostenlose Testversion Jetzt!

Registerkarte "Office" Aktivieren Sie das Bearbeiten und Durchsuchen von Registerkarten in Office und vereinfachen Sie Ihre Arbeit erheblich ...
Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%
  • Alles wiederverwenden: Fügen Sie die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und andere Elemente zu Ihren Favoriten hinzu und verwenden Sie sie in Zukunft schnell wieder.
  • Mehr als 20-Textfunktionen: Extrahiere die Zahl aus der Zeichenkette. Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umrechnen.
  • Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einer; Mehrere Zellen / Zeilen / Spalten zusammenführen, ohne Daten zu verlieren; Doppelte Zeilen und Summe zusammenführen.
  • Geteilte Werkzeuge: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe in mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten.
  • Einfügen überspringen Versteckte / Gefilterte Zeilen; Zählung und Summe nach Hintergrundfarbe; Senden Sie personalisierte E-Mails in großen Mengen an mehrere Empfänger.
  • Super Filter: Erstellen Sie erweiterte Filterschemata und wenden Sie diese auf alle Blätter an. Art nach Woche, Tag, Häufigkeit und mehr; Filtern durch Fettdruck, Formeln, Kommentar ...
  • Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2019 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.

Füllen Sie die Textbox basierend auf der Auswahl der Combobox in der Benutzerform mit VBA


Bitte gehen Sie wie folgt vor, um die Textbox mit dem entsprechenden Wert zu füllen, basierend auf der Combobox-Auswahl in der Benutzerform.

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 Einsatz > Benutzerformular. Siehe Screenshot:

3. Fügen Sie dann ein Kombinationsfeldsteuerelement und ein Textfeldsteuerelement in das erstellte Benutzerformular ein, wie im folgenden Screenshot gezeigt.

4. Klicken Sie mit der rechten Maustaste auf ein beliebiges leeres Feld des Benutzerformulars, und klicken Sie dann auf Code anzeigen aus dem Kontextmenü. Siehe Screenshot:

5. In dem sich öffnenden Fenster Benutzerformular (Code) kopieren Sie bitte den folgenden VBA-Code und fügen Sie ihn ein, um das Original zu ersetzen.

VBA-Code: Füllen Sie die Textbox auf der Basis der Combobox-Auswahl in der Benutzerform auf

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

Text: Im Code enthält A2: B2 den Bereich, der die Werte enthält, die Sie im Kombinationsfeld "Benutzerformular" und im Textfeld separat 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 > Einsatz > Befehlsschaltfläche (ActiveX-Steuerelement) um eine Befehlsschaltfläche in das Arbeitsblatt einzufügen.

8. Klicken Sie mit der rechten Maustaste auf die Registerkarte und wählen Sie Code anzeigen aus dem Kontextmenü. 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 in der Combobox gesammelt sind. Wenn Sie einen Namen aus dem Kombinationsfeld auswählen, wird die entsprechende Personalnummer automatisch in das Textfeld eingetragen, wie im Screenshot gezeigt.


In Verbindung stehende Artikel:


Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einlegen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (Bearbeiten Sie mühelos mehrere Textzeilen und Formeln); Layout lesen (Leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt der Zellen teilen; Kombinieren Sie doppelte Zeilen / Spalten... Doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie "Duplizieren" oder "Eindeutig" Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufallsauswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen auf mehrere Blätter; Bullets einfügen, Kontrollkästchen und mehr ...
  • Extract Text, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen; Erstellen und Drucken von Paging-Zwischensummen; Zwischen Zelleninhalt und Kommentaren konvertieren...
  • Superfilter (Speichere und wende Filterschemata auf andere Blätter an); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Arbeitsmappen und Arbeitsblätter kombinieren; Zusammenführen von Tabellen basierend auf Schlüsselspalten; Daten in mehrere Blätter aufteilen; Stapelkonvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Kostenlose 30-Testversion für alle Funktionen.
Registerkarte Tab 201905

Registerkarte "Office" Bringt die Benutzeroberfläche mit Registerkarten in Office und vereinfacht Ihre 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 täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Everton · 1 months ago
    alguem poderia me ajudar estou tentando carregar a combobox e puxar informações para text box so que esta dando erro 381

    Private Sub ComboNome_Emissor_Change()
    TextArea.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 1)
    TextTreinamento_PT.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 3)
    TextTreinamento_EC.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 5)
    TexStatus_Bloqueio.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 6)


    End Sub
  • To post as a guest, your comment is unpublished.
    Carey Ogola · 1 years ago
    The method is very simple and populates the combo box quite efficiently. However, when I try populating the text box, I get a run-time error '1004': Unable to get the VLookup property of the WorksheetFunction class. Kindly assist with resolving this error.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi,
      May I have your Office version? I need the feedback to check for the error.
      Thanks for your comment.
      • To post as a guest, your comment is unpublished.
        hoa tran · 1 years ago
        office 2010 32 bit
        • To post as a guest, your comment is unpublished.
          crystal · 1 years ago
          Good day,
          I have tried the code in Office 2010 32 bit, but no errors occured.
          Please make sure the sheet name and cell range in the first VBA code are the same with your actual sheet name and range.
          Thanks for your comment.
          • To post as a guest, your comment is unpublished.
            Dimal · 9 months ago
            Hi,
            i have same issue with office 2013. Any solution please
            • To post as a guest, your comment is unpublished.
              Olban Noe Izaguirre · 7 months ago
              i have the same problem....
              • To post as a guest, your comment is unpublished.
                Chaylon · 5 months ago
                I too have the same problem
                • To post as a guest, your comment is unpublished.
                  crystal · 5 months ago
                  Hi Chaylon,
                  Have you replaced the sheet name in the below code line with your actual used worksheet name?
                  Set xRg = Worksheets("Sheet5").Range("A2:B8")