Hvordan udfyldes kombinationsboksen med data fra det navngivne område i Excel?
Du kan specificere et kombinationsfelt (ActiveX-kontrol) med data fra et bestemt område ved at tilføje området til kombinationsboksen ListFillRange-egenskaber. Men ved du, hvordan du udfylder en kombinationsboks med data fra et navngivet område i Excel? For eksempel har du navngivet en række celler i dit regneark, og nu skal du angive dette områdens navn i et kombinationsfelt. Når du vælger områdets navn i et kombinationsfelt, udfyldes alle celleværdier i dette navngivne område automatisk i et andet kombinationsfelt. Denne artikel introducerer en VBA-metode til løsning af dette problem.
Udfyld kombinationsboks med data fra et navngivet område med VBA-kode
Udfyld kombinationsboks med data fra et navngivet område med VBA-kode
Gør følgende for at udfylde kombinationsfeltet med data fra et navngivet område i Excel.
1. Vælg hele overskrifterne (i dette tilfælde vælger jeg A1: E1) i dit regneark, og skriv derefter et navn i Navn Box som vist nedenstående skærmbillede.
2. Vælg hver kolonnedata undtagen dens overskrift, og navngiv derefter kolonnen separat i Navn Box. Se skærmbillede:
I dette tilfælde navngav jeg område A2: A8, B2: B8, C2: C8, D2: D8 og E2: E8 som dato, butik, varer, salg og hverdag hver for sig.
3. Indsæt derefter et kombinationsfelt ved at klikke på Udvikler > indsatte > Kombinationsboks (ActiveX-kontrol). Se skærmbillede:
4. Gentag trin 3 for at indsætte en anden kombinationsboks i regnearket.
5. Højreklik på arkfanen, og klik derefter på Vis kode fra genvejsmenuen. Se skærmbillede:
6. I åbningen Microsoft Visual Basic til applikationer vindue, skal du kopiere og indsætte under VBA-kode i kodevinduet.
VBA-kode: Udfyld kombinationsboks med data fra et navngivet område
Private Sub ComboBox1_Change()
'Updated by Extendoffice 2018/1/30
Dim xRg As Range
Set xRg = Range(Me.ComboBox1.Text)
Me.ComboBox2.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xRg As Range
Set xRg = Range("Headers")
Me.ComboBox1.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Bemærk: I koden er ComboBox1 navnet på den kombinationsboks, som du vil liste alle områdenavne inde i, og ComboBox2 er navnet på den kombinationsboks, som dataene for det angivne navngivne område vil blive udfyldt i. "Overskrifterne" er det områdenavn, du har oprettet i trin 1.
7. Sluk for designtilstand ved at klikke på Udvikler > Design Mode.
8. Klik på en celle i regnearket for at aktivere koden. Klik på pileknappen i den første kombinationsboks, du kan se alle navngivne områder er opført inde. Se skærmbillede:
Når du vælger et navngivet område i den første kombinationsboks, vil de tilsvarende celledata blive udfyldt i den anden kombinationsboks som vist nedenfor:
Opret let rullelisten med afkrydsningsfelter i Excel:
Rulleliste med afkrydsningsfelter nytte af Kutools til Excel kan hjælpe dig med nemt at oprette rulleliste med afkrydsningsfelter i et bestemt område, aktuelt regneark, nuværende projektmappe eller alle åbnede projektmapper baseret på dine behov.
Download og prøv det nu! (30-dages gratis spor)
Relaterede artikler:
- Hvordan kopieres Combo Box-værdi til aktiv celle i Excel?
- Hvordan vises datoformat i kombinationsboksoutput i Excel?
- Hvordan forhindrer eller deaktiverer man at skrive i en kombinationsboks i Excel?
- Hvordan udfyldes en kombinationsboks med angivne data på åben projektmappe?
- Sådan udfyldes andre celler automatisk, når du vælger værdier i Excel-rullelisten?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
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!