Note: The other languages of the website are Google-translated. Back to English
Log på  \/ 
x
or
x
Tilmeld  \/ 
x

or

Hvordan udfyldes tekstboks baseret på valg af kombinationsbokse på UserForm i Excel?

Antag, at du har en tabel, der indeholder kolonnen Navn og en stab, som vist nedenstående skærmbillede. Nu skal du oprette en brugerformular indlejret med et kombinationsfelt, der samler alle navne indeni og et tekstfelt, der udfylder det tilsvarende personalenummer, når du vælger navn fra kombinationsboksen. Metoden i denne artikel kan hjælpe dig med at få det ned.

Udfyld tekstboks baseret på valg af kombinationsbokse på brugerformular med VBA


Udfyld tekstboks baseret på valg af kombinationsbokse på brugerformular med VBA

Gør som følger for at udfylde tekstfelt med tilsvarende værdi baseret på valg af kombinationsbokse på brugerform.

1. Tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Brugerform. Se skærmbillede:

3. Indsæt derefter en kombinationsboksstyring og en tekstboksstyring i den oprettede brugerform som vist nedenfor.

4. Højreklik på et tomt område i brugerformularen, og klik derefter på Vis kode fra genvejsmenuen. Se skærmbillede:

5. I vinduet Userform (Code), der åbnes, skal du kopiere og indsætte nedenstående VBA-kode for at erstatte originalen.

VBA-kode: Udfyld tekstboks baseret på valg af kombinationsbokse på brugerform

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

Bemærk: I koden er A2: B2 området, der indeholder de værdier, du vil udfylde separat i både kombinationsfeltet Brugerform og tekstfeltet. Og Sheet5 er navnet på regnearket indeholder dataområdet. Skift dem, som du har brug for.

6. Tryk på andre + Q taster for at afslutte Microsoft Visual Basic til applikationer vindue.

7. klik Udvikler > indsatte > Kommando-knap (ActiveX-kontrol) for at indsætte en kommandoknap i regnearket.

8. Højreklik på arkfanen og vælg Vis kode fra højreklikmenuen. Kopier og indsæt derefter VBA-kode i kodevinduet.

VBA-kode: Vis brugerform

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
    UserForm1.Show
End Sub

9. Sluk for Designtilstand i projektmappen.

Klik på kommandoknappen for at åbne den angivne brugerform. Derefter kan du se, at alle navne er samlet i kombinationsboksen. Når du vælger et navn fra kombinationsboksen, udfyldes det tilsvarende personale nummer automatisk i tekstboksen som vist nedenstående skærmbillede.


Relaterede artikler:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2019 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60-dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50%og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Say something here...
symbols left.
You are guest
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.
    Jimmy · 1 months ago
    can the same be don on excel sheet? instead of userform? i am using sheet not userform
  • To post as a guest, your comment is unpublished.
    Everton · 1 years 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@gmail.com · 3 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.
      Carla Cox · 1 years ago
      I just tried this code and was running into the same issue. I realized I had the xRg variable inside the UserForm block, so it was not being accessed by my ComboBox function. Maybe others are running into the same issue
    • To post as a guest, your comment is unpublished.
      crystal · 3 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 · 3 years ago
        office 2010 32 bit
        • To post as a guest, your comment is unpublished.
          crystal · 3 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 · 2 years ago
            Hi,
            i have same issue with office 2013. Any solution please
            • To post as a guest, your comment is unpublished.
              Olban Noe Izaguirre · 2 years ago
              i have the same problem....
              • To post as a guest, your comment is unpublished.
                Chaylon · 2 years ago
                I too have the same problem
                • To post as a guest, your comment is unpublished.
                  crystal · 2 years 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")