Hoe tekstvak vullen op basis van combobox-selectie op UserForm in Excel?
Stel dat een tabel een kolom met een naam en een notenbalknummer bevat, zoals onderstaand screenshot. Nu moet u een gebruikersformulier maken dat is ingesloten met een keuzelijst met invoervak waarin alle namen worden verzameld en een tekstvak dat het overeenkomstige personeelsnummer zal vullen bij het selecteren van de naam in de keuzelijst met invoervak. De methode in dit artikel kan u helpen om het op te lossen.
Vul tekstvak in op basis van combobox-selectie op Userform met VBA
Vul tekstvak in op basis van combobox-selectie op Userform met VBA
Ga als volgt te werk om het tekstvak te vullen met de bijbehorende waarde op basis van de combobox-selectie op het gebruikersformulier.
1. druk de anders + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. In de Microsoft Visual Basic voor toepassingen venster klikt Invoegen > Gebruikersformulier. Zie screenshot:
3. Voeg vervolgens een keuzelijst met invoervak en een besturingselement Tekstvak in het gemaakte gebruikersformulier in, zoals onderstaand screenshot.
4. Klik met de rechtermuisknop op een lege ruimte van het gebruikersformulier en klik vervolgens op Bekijk code vanuit het contextmenu. Zie screenshot:
5. Kopieer en plak de onderstaande VBA-code in het openingsvenster Userform (Code) om het origineel te vervangen.
VBA-code: vul tekstvak in op basis van combobox-selectie op Userform
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: In de code is A2:B2 het bereik dat de waarden bevat die u afzonderlijk invult in zowel het gebruikersformulier als het tekstvak. En Sheet5 is de naam van het werkblad dat het gegevensbereik bevat. Wijzig ze indien nodig.
6. druk de anders + Q toetsen om het Microsoft Visual Basic voor toepassingen venster.
7. klikken Ontwikkelaar > Invoegen > Commandoknop (ActiveX-besturingselement) om een opdrachtknop in het werkblad in te voegen.
8. Klik met de rechtermuisknop op de bladtab en selecteer Bekijk code vanuit het rechtsklikmenu. Kopieer en plak vervolgens de VBA-code in het codevenster.
VBA-code: gebruikersformulier weergeven
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub
9. Schakel de ontwerpmodus in de werkmap uit.
Klik op de opdrachtknop om het opgegeven gebruikersformulier te openen. Dan kun je zien dat alle namen zijn verzameld in de keuzelijst met invoervak. Wanneer u een naam uit de keuzelijst met invoervak selecteert, wordt het corresponderende personeelsnummer automatisch in het tekstvak ingevuld, zoals hieronder afgebeeld.
Gerelateerde artikelen:
- Hoe vul ik een keuzelijst met invoervak met gespecificeerde gegevens over de geopende werkmap?
- Hoe vul ik automatisch andere cellen in bij het selecteren van waarden in de vervolgkeuzelijst van Excel?
- Hoe vul ik automatisch andere cellen in bij het selecteren van waarden in de vervolgkeuzelijst van Excel?
- Hoe Google-zoekresultaten naar een werkblad in Excel te vullen?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!