Note: The other languages of the website are Google-translated. Back to English
Přihlásit se  \/ 
x
or
x
Registrace  \/ 
x

or

Jak vytvořit vyhledávací rozevírací seznam v aplikaci Excel?

Pro rozevírací seznam s mnoha hodnotami není hledání správné práce snadná práce. Dříve jsme zavedli způsob automatického vyplňování rozevíracího seznamu při zadávání prvního písmene do rozevíracího seznamu. Kromě funkce automatického doplňování můžete také v rozevíracím seznamu vyhledávat, abyste zvýšili efektivitu práce při hledání správných hodnot v rozevíracím seznamu. Pro umožnění prohledávání rozevíracího seznamu postupujte krok za krokem podle níže uvedených ukázek tutoriálu.

Vytvořte prohledávatelný rozevírací seznam v aplikaci Excel
Další výukové programy pro rozevírací seznam ...


Vytvořte prohledávatelný rozevírací seznam v aplikaci Excel

Například zdrojová data, která potřebujete pro rozevírací seznam, jsou v rozsahu A2: A9.

Tato metoda vyžaduje místo rozevíracího seznamu ověření dat pole se seznamem. Chcete-li vytvořit rozevírací seznam s možností vyhledávání, postupujte takto.

1. Pokud nemůžete najít Vývojka na pásu karet, povolte prosím kartu Vývojář následujícím způsobem.

1). V aplikaci Excel 2010 a 2013 klikněte na Soubor > možnosti. A v možnosti , klepněte na tlačítko OK Přizpůsobit pás karet v pravém podokně zkontrolujte Vývojka a poté klikněte na OK knoflík. Viz screenshot:

2). V aplikaci Outlook 2007 klikněte na Kancelář tlačítko> Možnosti aplikace Excel. V Možnosti aplikace Excel , klepněte na tlačítko OK Oblíbené na pravé liště, pak zkontrolujte Zobrazit kartu Vývojář na pásu karet a nakonec klikněte na OK tlačítko.

2. Po zobrazení Vývojka karta, klikněte prosím Vývojka > Vložit > Rozbalovací seznam. Viz snímek obrazovky:

3. Nakreslete pole se seznamem v listu a klepněte na něj pravým tlačítkem. Vybrat Nemovitosti z nabídky pravého tlačítka myši.

4. V Nemovitosti dialogové okno, musíte:

1). Vybrat Falešný v AutoWordSelect pole;

2). Zadejte buňku v LinkedCell pole. V tomto případě zadáme A12;

3). Vybrat 2-fmMatchEntryNone v MatchEntry pole;

4). Typ Rozbalovací seznam do ListFillRange pole;

5). Zavři Nemovitosti dialogové okno. Viz snímek obrazovky:

5. Nyní zavřete návrhový režim kliknutím Vývojka > Režim návrhu.

6. Vyberte prázdnou buňku C2 a poté zkopírujte a vložte vzorec = - ISNUMBER (IFERROR (SEARCH ($ A $ 12, A2,1), "")) do řádku vzorců a stiskněte klávesu Enter. Přetáhnou to dolů do buňky C9, aby automaticky vyplnily vybrané buňky stejným vzorcem. Viz screenshot:

Poznámky:

1. $ A $ 12 je buňka, kterou jste zadali v poli LinkedCell v kroku 4;

2. Po dokončení výše uvedeného kroku jej nyní můžete otestovat. Zadejte písmeno C do rozevíracího pole, uvidíte, že všechny buňky obsahující C jsou vyplněny číslem 1.

7. Vyberte buňku D2, vložte vzorec = IF (C2 = 1, COUNTIF ($ C $ 2: C2,1), "") do řádku vzorců a stiskněte klávesu Enter. Poté přetáhněte rukojeť výplně v D2 dolů na D9 a vyplňte tak rozsah D3: D9.

8. Vyberte buňku E2, zkopírujte a vložte vzorec =IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"") do řádku vzorců a stiskněte klávesu Enter. Poté přetáhněte rukojeť výplně v E2 dolů na E9 a vyplňte buňky. Pak uvidíte, že buňky jsou vyplněny, jak ukazuje následující snímek obrazovky.

9. Nyní musíte vytvořit rozsah jmen. prosím klikněte Vzorec > Definujte jméno.

10. V Nové jméno dialogové okno, zadejte Rozbalovací seznam do Jméno pole, zadejte vzorec =$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1) do Odkazuje na a poté klikněte na OK tlačítko.

11. Nyní povolte návrhový režim kliknutím Vývojka > Režim návrhu. Poté poklepejte na pole se seznamem, které jste vytvořili v kroku 3, a otevřete Microsoft Visual Basic pro aplikace okno.

12. Zkopírujte a vložte níže uvedený kód VBA do editoru kódu.

Kód VBA: umožňuje vyhledávat v rozevíracím seznamu

Private Sub ComboBox1_GotFocus()
	ComboBox1.ListFillRange = "DropDownList"
	Me.ComboBox1.DropDown
End Sub

13. Zavři Microsoft Visual Basic pro aplikace okno.

Od nynějška, když začnete psát do seznamu, začne nejednoznačné vyhledávání a v rozevíracím seznamu stačí vypsat příslušné hodnoty.

Poznámka: Po zavření a opětovném otevření listu se automaticky odstraní kód VBA, který jste vytvořili v kroku 12. Tento sešit tedy musíte uložit ve formátu sešitu Excel podporujícího makra.


Snadné vytváření rozevíracího seznamu se zaškrtávacími políčky v aplikaci Excel:

Společnost Rozevírací seznam se zaškrtávacími políčky užitečnost Kutools pro Excel vám pomůže snadno vytvořit rozevírací seznam se zaškrtávacími políčky v zadaném rozsahu, aktuálním listu, aktuálním sešitu nebo všech otevřených sešitech podle vašich potřeb.
Stáhněte si a vyzkoušejte hned! (30denní trasa zdarma)


Související články:

Automatické doplňování při psaní v rozevíracím seznamu aplikace Excel
Pokud máte rozevírací seznam pro ověření dat s velkými hodnotami, musíte v seznamu posunout dolů, abyste našli ten správný, nebo přímo zadat celé slovo do seznamu. Pokud existuje metoda umožňující automatické dokončení při psaní prvního písmene do rozevíracího seznamu, vše bude jednodušší. Tento výukový program poskytuje způsob řešení problému.

Vytvořte rozevírací seznam z jiného sešitu v aplikaci Excel
Je docela snadné vytvořit rozevírací seznam pro ověření dat mezi listy v sešitu. Ale pokud se seznamová data, která potřebujete pro ověření dat, nacházejí v jiném sešitu, co byste udělali? V tomto kurzu se naučíte, jak vytvořit seznam drop fown z jiného sešitu v aplikaci Excel podrobně.

Vytvořte prohledávatelný rozevírací seznam v aplikaci Excel
Pro rozevírací seznam s mnoha hodnotami není hledání správné práce snadná práce. Dříve jsme zavedli způsob automatického vyplňování rozevíracího seznamu při zadávání prvního písmene do rozevíracího seznamu. Kromě funkce automatického doplňování můžete také v rozevíracím seznamu vyhledávat, abyste zvýšili efektivitu práce při hledání správných hodnot v rozevíracím seznamu. Chcete-li v rozevíracím seznamu vyhledávat, vyzkoušejte metodu v tomto kurzu.

Automatické vyplnění dalších buněk při výběru hodnot v rozevíracím seznamu aplikace Excel
Řekněme, že jste vytvořili rozevírací seznam na základě hodnot v oblasti buněk B8: B14. Když vyberete libovolnou hodnotu z rozevíracího seznamu, chcete, aby se ve vybrané buňce automaticky naplnily odpovídající hodnoty v rozsahu buněk C8: C14. Při řešení problému vám metody v tomto tutoriálu udělají laskavost.

Další výukový program pro rozevírací seznam ...


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
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.
    ismaeel ahmad · 1 years ago
    how to use this dropdown in vba form any konw please reply
  • To post as a guest, your comment is unpublished.
    Jeroen · 1 years ago
    Hi, I made an action list for internal use with automatic email reminders in Excel, based on macro and vba. in a cell you select which person to send the reminder to, in a next cell you select which person to CC etc. Is it a good idea to copy this dropdownlist a few 100 times to every possible entry that I supply ? And is it possible to add a rule: Per row a particular person can only be selected once?
  • To post as a guest, your comment is unpublished.
    Ajesh · 1 years ago
    I have around 80000 data while running excel is hang
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @sourav1986 Hi Sourav Singha,
    Can't use it in a userform combobox. Sorry for the inconvenience.
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Josh Hi Josh,
    Sorry can;t help you with that yet.
  • To post as a guest, your comment is unpublished.
    sourav1986 · 1 years ago
    Sir How to use this in excel userform combobox....? plz help
  • To post as a guest, your comment is unpublished.
    Josh · 1 years ago
    Is there a way to make it call up a hyperlink? My email is joshuarobertdaniels@gmail.com
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Vrezh Hi Vrezh,
    Sorry this kind of problem can't be solved yet. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    Vrezh · 2 years ago
    I have a problem. My list is in Armenian language, and I see ??????-s instead of the letters. how can I fix this problem? Thank you in advance
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @Steve Olah Hi Steve Olah,
    Sorry can't help you with that. Any question about Excel, please don’t hesitate to post in our forum: https://www.extendoffice.com/forum.html.
  • To post as a guest, your comment is unpublished.
    Steve Olah · 2 years ago
    How can I use this? I have two problem
    1st I would like use ComboBox1 for a full column, so I have D column, it should see empty.
    When I click into a cell in D column example D7 or D8(etc) I should get a Combo in D7 or D8 etc cell and after select just see the result, not the combo too.

    But how can I add combobox dynamically to D2, D4, D11 etc when click or before.
    I need for I can search with typing too, so simple(not active-x) combo is wrong.

    2nd how set padding? - my combo text when I search is not see whole because itt has padding.

    3th if my source is C column, how drop empty elements from list
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @sigidap90@gmail.com Hi,
    Sorry didn't get your point. Any question about Excel, please don’t hesitate to post in our forum: https://www.extendoffice.com/forum.html.
  • To post as a guest, your comment is unpublished.
    sigidap90@gmail.com · 2 years ago
    I had try tutorial drodown list searchable, Some like that,. But i'am can't make searcable from list and Combo Box Search??? How to make VBA Macro Connected in Excel??
  • To post as a guest, your comment is unpublished.
    Mubashir · 2 years ago
    I want to make this drop down to work for whole column, so that with multiple entries, I have this search suggestion option available every time. Above option, just shows suggestion for one time. Please help
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @yogi Hi yogi,
    The method has been successfully tested in Office 2010, 2013 as well as 2016. No idea for this problem. Sorry about that.
  • To post as a guest, your comment is unpublished.
    yogi · 2 years ago
    @crystal Dear Crystal,

    I got the same problem as michael does, excel crashes every time i use down arrow in the drop box, i got excel 2010 on my laptop, which version do you use?
  • To post as a guest, your comment is unpublished.
    Min · 2 years ago
    Hi. I get many helps from your post. However, it doesn't make automatic dropdown if there are mixed language on the list (e.g: first cell is written in English, second cell is written in Korean etc.) Has anyone had solve this problem?
  • To post as a guest, your comment is unpublished.
    dan · 3 years ago
    @dan I figured it my be with the last step. I put the VBA code in my personal.xlsb worksheet but looks like the code needs to be on the sheet of the respective workbook. hazah
  • To post as a guest, your comment is unpublished.
    dan · 3 years ago
    The automatic dropdown list is not working. Everything else is working. Do you know where my snag might lie?
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @alluxxx Hi,
    Sorry for reply so late. If you want to search values in drop-down list that begin with a certain character, please change the formula in column C to
    =--ISNUMBER(IFERROR(SEARCH($A$12,MID(A3,1,1),1),"")).
    Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @michaeljcianci@gmail.com Dear Michael,
    The problem you mentioned does not appear in my case. Which Office version do you use?
  • To post as a guest, your comment is unpublished.
    michaeljcianci@gmail.com · 3 years ago
    I got this to work but for some reason excel crashes if i attempt to use the arrows to select things from the drop down. has anyone had this issue? is it even supposed to be possible?
    thanks
  • To post as a guest, your comment is unpublished.
    alluxxx · 3 years ago
    Is there a way to prioritize the location of a letter in a word? I used this method, but when I type in "A," for example, I get terms with "A" anywhere in the word. I would prefer if it started showing all the terms that begin with "A". Is this possible?
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Kathleen Good Day,
    This combo box search only allow a single cell in the workbook to be populated with the result.
    I'll try to find another method to solve your problem.
  • To post as a guest, your comment is unpublished.
    KELS · 3 years ago
    I may have misunderstood how this function is supposed to work, but i can only get the combo box search to populate one cell, A12 (using the example from the tutorial). If i click into A13 to populate the next cell with a different value from the drop down, it just replaces what i have in A12 and does not populate A13. I need this search to apply to any cell in column A from A12 down. Have i done something incorrect or does this combo box search only allow a single cell in the workbook to be populated with the result? Will be grateful for any help with this.
  • To post as a guest, your comment is unpublished.
    Kathleen · 3 years ago
    I may have misunderstood how this function is supposed to work, but i can only get the combo box search to populate one cell, A12 (using the example from the tutorial). If i click into A13 to populate the next cell with a different value from the drop down, it just replaces what i have in A12 and does not populate A13. I need this search to apply to any cell in column A from A12 down. Have i done something incorrect or does this combo box search only allow a single cell in the workbook to be populated with the result? Will be grateful for any help with this.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Ben Johnston Dear Ben,
    I am also comfusing about the disappearing of the "DripDownList" from the "ListFillRange" property
    But it does not influence the finally rsult of making the drop-down list seachable.
  • To post as a guest, your comment is unpublished.
    Ben Johnston · 3 years ago
    I feel dumb, but immediately after posting, I realized I probably hadn't added the 1 to DropDownList1 in the VBA, and sure enough that was the problem! Thanks anyway!
  • To post as a guest, your comment is unpublished.
    Ben Johnston · 3 years ago
    Hello, thanks for the tutorial! I'm having an issue where every time I type in the combo box, "DropDownList1" disappears from the "ListFillRange" property. So long as I don't type in the box, if I retype "DropDownList1" in the property, the box does show suggestions. I have looked everything over and could not find any errors. Is this a common problem, and is there a way to fix it? Thank you for your time!
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Jelbin Dear Jelbin,
    Can't handle this. Sorry about that.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Havocknox Hi,
    The problemm you mentioned does not appear in my case. Would you please provide your Office version?
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Gunawan Budianto Hi,
    This cell is optionally selected which can help to finish the whole operation. You can choose any one as you need.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Al B Good day,
    Sorry for replying so late. The problem you methoded does not appear in my case.Would be nice if you could provide your Office verson. Thank you!
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @dave Dear dave,
    Would you please provide a screenshot of your spreadsheet showing what you are exactly trying to do?
  • To post as a guest, your comment is unpublished.
    dave · 3 years ago
    is there a way to have the search box put the top result if left blank? in the case of this example it would automatically put china if it was left blank
  • To post as a guest, your comment is unpublished.
    Pierpaolo · 3 years ago
    @Cristina i have the same need
  • To post as a guest, your comment is unpublished.
    Al B · 3 years ago
    I've had an ongoing issue with all documents I've used this method on. A shadow of the drop-down box reappears underneath it each time I click into another cell within the spreadsheet and begin typing. It's beyond just a nuisance because when the shadow drops down, it prevents use of any additional searchable drop-down boxes. Please help!!! This is affecting multiple documents we use throughout our organization.
  • To post as a guest, your comment is unpublished.
    Gunawan Budianto · 3 years ago
    4. In the Properties dialog box, you need to:
    1). Select False in the AutoWordSelect field;
    2). Specify a cell in the LinkedCell field. In this case, we enter A12;

    Why A12? thank's
  • To post as a guest, your comment is unpublished.
    Jelbin · 3 years ago
    Hi As in forum,
    I need to have this searchable dropdown for columns 2 to 500. Please let me know how i can as the second combo replicates the same in first which i dont want
  • To post as a guest, your comment is unpublished.
    Havocknox · 3 years ago
    Thank you for this breakdown to make the combo box searchable. I have even gotten three of them working on the same page. My problem I have run into is when I start typing in the search information and the info narrows down, if I hit the down arrow key to select the item in the list Excel crashes on me. Has anyone had this happen, and if so have you found a way to solve this issue.
  • To post as a guest, your comment is unpublished.
    Heric · 4 years ago
    Hi,

    your guide is most helpful, but i still encounter one last problem.
    I am trying to do a simple invoice, and do the drop down for my customer name cell, must my customer listing be in the same worksheet as my invoice worksheet? Is is possible i have two worksheet, "invoice" & "customer name", and do the drop down list for customer name at "invoice" worksheet?

    Thank you
  • To post as a guest, your comment is unpublished.
    Jaydie · 4 years ago
    @Yesenia I have the exact same problem, have you managed a solution yet??
  • To post as a guest, your comment is unpublished.
    Jaydie · 4 years ago
    Thank you, I used above and it works perfectly....

    Until you have two combo boxes in one sheet.. When you want to type in the second combo box it highlights the text in the first combo box and does not want to search
    If I leave the first box blank, the second box works fine

    Please help
  • To post as a guest, your comment is unpublished.
    NAJMA · 4 years ago
    plz help me
    i cannt enter formula in formula bar
    when i paste this formula & paste this =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
    give me error.type :(
  • To post as a guest, your comment is unpublished.
    Ashok · 4 years ago
    HI, How to do the same searchable program for contnious rwo , i tried and it is working one row only , i want to do the same for below row also for different name
  • To post as a guest, your comment is unpublished.
    Ahmed Shahin · 4 years ago
    Hi Herb,

    What if i created a drop down list from another work sheet? the formula " =--ISNUMBER(IFERROR(SEARCH($A$2,H2,1),""))" has wrong reference and when i edit it it doesn't allow to put the right cell. what do you suggest? thank you
  • To post as a guest, your comment is unpublished.
    Yesenia · 4 years ago
    I, like Cristina above, would also like to know how to make multiple combo boxes for one sheet. I tried but when I begin typing in the second combobox two things happen: 1. no drop down list appears, and 2. the simple act of typing in combobox2 activates the selection from my original combobox1 and highlights it in the drop down from combobox1. I checked to make sure all of my coding says combobox2 for combobox2 etc. for the other boxes but there is a disconnect that I can't figure out.
  • To post as a guest, your comment is unpublished.
    Maarten · 4 years ago
    @Herb123987 Hi there,

    Thanks a lot for your solution. I gave up already, but I'll try again.
  • To post as a guest, your comment is unpublished.
    Herb123987 · 4 years ago
    @Maarten [quote name="Maarten"]Hi,

    I can't fill in 'DropDownList' in the 'ListFillRange'.... What's the catch? I don't understand the solution of imad.
    Thanks.[/quote]

    I posted this answer above for IMAD and saw this posting down here for MAARTEN so I figured I'd post this for him too.

    I have seen this "how to make an autofill / auto suggest DDL / combo box" on a few different sites and they ALL want you to put "something" in the ListFillRange Properties field [b]BEFORE[/b] they have you [b]create a named range[/b] by clicking Formula > Define Name ....... and the [b]ListFillRange will always go blank in the Properties window[/b] UNTIL you define the name (Formula > Define Name)

    THAT is why i think IMAD, above and MAARTEN below (here) was having the problem - not 100% sure though.
  • To post as a guest, your comment is unpublished.
    Herb123987 · 4 years ago
    @imad [quote name="imad"]Mine isn't working. My dropdownlist label was not working in the "properties" for the combobox. Everytime I entered it, it disappeared. So I used "test" instead. I adjusted the macro with the word test instead of dropdowmlist. Let me know if there is something else I can do? Search not working.[/quote]

    I have seen this "how to make an autofill / auto suggest DDL / combo box" on a few different sites and they ALL want you to put "something" in the ListFillRange field BEFORE they have you create a name range by clicking Formula > Define Name and the ListFillRange will always go blank in the Properties window UNTIL you define the name (Formula > Define Name)

    THAT is why i think IMAD, above and MAARTEN below was having the problem - not 100% sure though.