Preskoči na glavno vsebino

Kako ustvariti dinamična kaskadna polja s seznami v Excelu?

Morda veste, kako v Excelu ustvarite spustni seznam kaskadnega preverjanja veljavnosti. Kako pa ustvariti dinamična kaskadna polja s seznami v Excelu? Ta članek predstavlja metodo VBA za njegovo znižanje.

Ustvarite dinamična kaskadna polja s seznamom s kodo VBA


Ustvarite dinamična kaskadna polja s seznamom s kodo VBA

Kot je prikazano na spodnji sliki zaslona, ​​morate ustvariti nadrejeno polje s seznamom, ki vsebuje edinstvene vrednosti stolpca Drink, in prikazati vse ustrezne vrednosti v drugem polju s seznamom glede na izbiro v nadrejenem seznamu. Naslednja koda VBA vam pomaga, da jo dosežete. Naredite naslednje.

1. Najprej morate iz stolpca Drink izvleči vse edinstvene vrednosti. Izberite prazno celico, vnesite formulo matrike =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") v Formula Barin nato pritisnite Ctrl + Shift + Vnesite tipko. Nato povlecite Ročica za polnjenje da dobite vse edinstvene vrednosti. Oglejte si posnetek zaslona:

Opombe: V formuli, $A$2:$A$11 je obseg, iz katerega boste izvlekli edinstvene vrednosti. J1 je celica zgoraj, kjer je vaša formula.

Nasvet: Če je formulo težko zapomniti in obvladati, Izberite Podvojene in edinstvene celice uporabnost Kutools za Excel bo dobra izbira za hitro izločanje vseh edinstvenih vrednosti iz stolpca.

Izberite stolpec, ki vsebuje edinstvene vrednosti, iz katerih boste črpali. Nato s klikom omogočite pripomoček Kutools > Izberite > Izberite Podvojene in edinstvene celice. v Izberite Podvojene in edinstvene celice v pogovornem oknu izberite Vsi unikatni (vključno s 1. dvojniki) in kliknite na OK . Nato so v stolpcu izbrane vse edinstvene vrednosti. Prosimo, kopirajte jih in prilepite na novo mesto. Oglejte si posnetek zaslona:

Kutools za Excel: z več kot 200 priročnimi dodatki za Excel, brezplačno preizkusite brez omejitev v 60 dneh. Prenesite in brezplačno preskusite zdaj!

2. Dve polji s seznamom vstavite ločeno s klikom Razvojni > Vstavi > List List (ActiveX Control). Oglejte si posnetek zaslona:

3. Z desno miškino tipko kliknite nadrejeno polje s seznamom in izberite Nepremičnine iz kontekstnega menija. V Nepremičnine pogovorno okno, spremenite (Ime) polje v drink ali drugo ime, kot ga potrebujete, vnesite obseg celic, ki vsebuje izvlečene edinstvene vrednosti v ListFillRange polje in zaprite pogovorno okno.

4. Ponovite 3. korak, da spremenite drugo polje s seznamom (Ime) polje do Element v Nepremičnine pogovorno okno.

5. Z desno miškino tipko kliknite jeziček lista in izberite Ogled kode v meniju z desnim klikom. Nato kopirajte spodnjo kodo VBA v okno Code. Oglejte si posnetek zaslona:

Koda VBA: v Excelu ustvarite dinamična kaskadna polja s seznami

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Opombe: V kodi Drink in Item sta imena dveh seznamskih polj, spremenite jih v svoja imena.

6. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno.

7. Izklopite način oblikovanja s klikom Razvojni > Način oblikovanja.

Od zdaj naprej bodo pri izbiri katere koli vrste pijače, kot je kava, v nadrejenem seznamu vsi elementi kave prikazani v drugem. Izberite Tea ali Wine bo v drugem polju s seznamom prikazal samo izdelke s čajem ali vinom. Oglejte si posnetek zaslona:


Sorodni članki:

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations