Hur fyller man i kombinationsrutan med data från Named Range i Excel?
Du kan ange en kombinationsruta (ActiveX Control) med data i ett visst intervall genom att lägga till intervallet i kombinationsrutans ListFillRange-egenskaper. Men vet du hur du fyller i en kombinationsruta med data från ett namngivet intervall i Excel? Till exempel har du namngett ett cellområde i ditt kalkylblad och måste nu ange detta intervallnamn i en kombinationsruta. När du väljer områdesnamnet i en kombinationsruta fylls alla cellvärden i det namngivna området automatiskt i en annan kombinationsruta. Denna artikel kommer att introducera en VBA-metod för att lösa detta problem.
Fyll kombinationsrutan med data från ett namngivet intervall med VBA-kod
Fyll kombinationsrutan med data från ett namngivet intervall med VBA-kod
Gör så här för att fylla i kombinationsrutan med data från ett angivet intervall i Excel.
1. Välj hela rubrikerna (i det här fallet väljer jag A1: E1) i ditt kalkylblad och skriv sedan ett namn i Namn Box som nedan visas skärmdump.
2. Välj varje kolumninformation utom dess rubrik och namnge sedan kolumnen separat i Namn Box. Se skärmdump:
I det här fallet namngav jag intervall A2: A8, B2: B8, C2: C8, D2: D8 och E2: E8 som datum, butik, artiklar, försäljning och veckodag separat.
3. Sätt sedan in en kombinationsruta genom att klicka Utvecklare > Insert > Kombinationsbox (ActiveX Control). Se skärmdump:
4. Upprepa steg 3 för att infoga en ny kombinationsruta i kalkylbladet.
5. Högerklicka på arkfliken och klicka sedan på Visa kod från snabbmenyn. Se skärmdump:
6. I öppningen Microsoft Visual Basic för applikationer kopiera och klistra in under VBA-koden i kodfönstret.
VBA-kod: Fyll kombinationsruta med data från ett namngivet intervall
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
Anmärkningar: I koden är ComboBox1 namnet på kombinationsrutan som du kommer att lista alla intervallnamn inuti, och ComboBox2 är namnet på kombinationsrutan som data för det angivna namngivna intervallet kommer att fyllas i. "Rubrikerna" är intervallnamnet du skapade i steg 1.
7. Stäng av designläget genom att klicka på Utvecklare > Designläge.
8. Klicka på valfri cell i kalkylbladet för att aktivera koden. Klicka på pilknappen i den första kombinationsrutan, du kan se alla namngivna intervall listade inuti. Se skärmdump:
När du väljer ett namngivet intervall i den första kombinationsrutan, kommer motsvarande celldata att fyllas i i den andra kombinationsrutan enligt nedanstående skärmbild:
Skapa enkelt listrutan med kryssrutor i Excel:
Smakämnen Listruta med kryssrutor nytta av Kutools för Excel kan hjälpa dig att enkelt skapa rullgardinsmenyn med kryssrutor i ett angivet intervall, aktuellt kalkylblad, aktuell arbetsbok eller alla öppnade arbetsböcker baserat på dina behov.
Ladda ner och prova nu! (30 dagars gratis spår)
Relaterade artiklar:
- Hur kopierar man kombinationsboxvärde till aktiv cell i Excel?
- Hur visar jag datumformat i kombinationsruta i Excel?
- Hur förhindrar eller inaktiverar man att skriva i en kombinationsruta i Excel?
- Hur fyller jag i en kombinationsruta med angiven data i arbetsboken öppen?
- Hur fyller jag i andra celler automatiskt när du väljer värden i Excel-listrutan?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!