Note: The other languages of the website are Google-translated. Back to English
English English

如何在Excel中創建可搜索的下拉列表?

對於一個包含很多值的下拉列表,從列表中找到一個合適的值並不是一件容易的事。 我們之前介紹了一種在輸入第一個字母時自動完成下拉列表的方法。 除了自動補全功能,還可以讓下拉列表可搜索,提高在下拉列表中查找合適值的效率。 為了使下拉列表可搜索,您可以按照以下方法逐步進行。

在Excel中創建可搜索的下拉列表
使用出色的工具輕鬆創建可搜索的下拉列表

下拉列表的更多教程...


在Excel中創建可搜索的下拉列表

假設您在 A 列中有一個國家名稱列表,如下面的屏幕截圖所示,現在您想將它們用作搜索下拉列表的源數據,您可以執行以下操作來完成它。

您需要在工作表中插入一個組合框而不是數據驗證下拉列表。

1。 如果 開發人員 選項卡不顯示在功能區上,您可以啟用 開發人員 標籤如下。

1)。 在 Excel 2010 或更高版本中,單擊 文件 > 選項。 而在中 Excel 選項 對話框,單擊 自定義功能區 在左側窗格中。 轉到自定義功能區列錶框,選中 開發人員 框,然後單擊 OK 按鈕。 看截圖:

2)。 在 Excel 2007 中,單擊 辦公室 按鈕> Excel選項。 在 Excel選項 對話框,單擊 熱門 在左窗格中,檢查 在功能區中顯示“開發人員”選項卡 框,最後單擊 OK 按鈕。

2.顯示 開發人員 標籤,點擊 開發人員 > 插入 > 組合框

3.在工作表中繪製一個組合框,右鍵單擊它,然後選擇 氟化鈉性能 從右鍵單擊菜單中。

4。 在裡面 氟化鈉性能 對話框,您需要:

1)。 選擇 自動選詞 領域;
2)。 在中指定一個單元格 鏈接單元 領域。 在這種情況下,我們輸入A12。
3)。 選擇 2-fmMatchEntryNone匹配項 領域;
4)。 類型 下拉列表列表填充範圍 領域;
5)。 關上 氟化鈉性能 對話框。 看截圖:

5. 現在點擊關閉設計模式 開發人員 > 設計模式.

6.選擇一個空白單元格如C2,輸入下面的公式並按 Enter. 他們將其自動填充句柄向下拖動到單元格 C9 以使用相同的公式自動填充單元格。 看截圖:

=--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))

筆記:

1. 12澳元 是您將其指定為的單元格 鏈接單元 在步驟 4 中;
2、完成上述步驟後,現在可以測試:在組合框中輸入一個字母C,然後可以看到引用包含字符C的單元格的公式單元格被數字1填充了。

7.選擇單元格D2,輸入下面的公式並按 Enter. 然後將其自動填充句柄向下拖動到單元格 D9。

=IF(C2=1,COUNTIF($C$2:C2,1),"")

8.選擇單元格E2,輸入下面的公式並按 Enter. 然後將其自動填充手柄向下拖動到 E9 以應用相同的公式。

=IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")

9.現在,您需要創建一個名稱範圍。 請點擊 公式 > 定義名稱.

10。 在裡面 新名字 對話框中,鍵入 下拉列表 在 姓名 框,在下面的公式中輸入 框,然後單擊 OK 按鈕。

=$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)

11. 現在,通過單擊打開設計模式 開發人員 > 設計模式. 然後雙擊組合框打開 Microsoft Visual Basic for Applications 窗口。

12. 將下面的 VBA 代碼複製並粘貼到代碼編輯器中。

VBA代碼:使下拉列表可搜索

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

13。 按 其他 + Q 關閉鍵 Microsoft Visual Basic for Applications 窗口。

從現在開始,當在組合框中輸入一個字符時,它會進行模糊搜索,然後在列表中列出相關值。

備註:您需要將此工作簿保存為 Excel 啟用宏的工作簿文件,以便保留 VBA 代碼以供將來使用。


使用出色的工具輕鬆創建可搜索的下拉列表

上面的方法好像不太好處理。 這裡推荐一個方便的功能—— 可搜索的下拉列表 of Excel的Kutools 幫助在 Excel 中輕鬆創建可搜索的下拉列表。

申請前 Excel的Kutools首先下載並安裝.

請按照以下步驟創建具有可搜索下拉列表功能的可搜索下拉列表。

1。 點擊 庫工具 > 下拉列表 > 可搜索的下拉列表 > 啟用可搜索下拉列表.

2.在開幕 Excel的Kutools 對話框(此對話框僅在您第一次應用此功能時彈出),單擊 按鈕。

3.然後在 可搜索的下拉列表 對話框,您需要配置如下。

3.1)在 適用於 部分,您可以指定應用此功能的範圍範圍:
A: 指定範圍:支持一個或多個下拉列表範圍;
B: 指定範圍:支持當前工作表、當前工作簿或所有工作簿。
3.2)在 選項 部分,有兩個選項,您可以根據需要選擇其中一個,兩個或一個都不選:
A: 只匹配單詞的開頭: 如果勾選此項,則只顯示以輸入字符開頭的項目,同時自動補全第一個顯示的項目; 如果未選中此選項,將顯示包含鍵入字符的項目;
B: 區分大小寫:如果勾選此選項,則只顯示與輸入字符大小寫匹配的項目; 如果未選中此選項,將顯示包含鍵入字符的項目,不區分大小寫。
3.3)在 模式 部分,選擇將下拉列表項添加到單元格的模式。
A: 附加: 如果您選擇此單選按鈕,則允許將多個搜索項(包括重複項)添加到單元格中。 將第一個搜索項添加到單元格後,如果您再次在該單元格中執行新搜索,則新搜索項將添加到現有項的末尾。
分離器 文本框,輸入一個分隔符來分隔添加的項目;
文本方向 部分,選擇一個方向以在下拉列表單元格中顯示添加的項目。
B: 修改:如果您選擇此單選按鈕,以後添加的項目將覆蓋現有的項目。 一次只允許在單元格中顯示一項。
3.3)點擊 OK.

4.然後點擊 庫工具 > 下拉列表 > 可搜索的下拉列表 > 啟用可搜索下拉列表 啟用此功能。

現在已經創建了可搜索的下拉列表。 單擊下拉列表單元格時,將彈出一個列錶框,其中列出了所有下拉項目。 輸入一個字符,會立即搜索出相應的項目,您可以單擊需要的項目將其插入到該單元格中。

如果您選擇 水平文本方向 section:所有添加的項目將在單元格中水平顯示。 請看下面的演示:

如果您選擇 垂直文本方向 部分:所有添加的項目將在單元格中垂直顯示。 請看下面的演示:

如果您選擇了 修改 單選按鈕,一次只允許在下拉列表單元格中顯示一項。 請看下面的演示:

單擊以了解有關此功能的更多信息.

  如果您想免費試用該工具(30天), 請點擊下載,然後按照上述步驟進行操作。


相關文章:

在Excel下拉列表中鍵入時自動完成
如果您有一個包含大值的數據驗證下拉列表,則需要在列表中向下滾動以查找合適的列表,或直接在列錶框中鍵入整個單詞。 如果在下拉列表中鍵入第一個字母時有允許自動完成的方法,一切將變得更加容易。 本教程提供了解決問題的方法。

在Excel中從另一個工作簿創建下拉列表
在工作簿中的工作表之間創建數據驗證下拉列表非常容易。 但是,如果數據驗證所需的列表數據位於另一個工作簿中,您將怎麼辦? 在本教程中,您將詳細了解如何從Excel中的另一個工作簿創建拖放列表。

在Excel中創建可搜索的下拉列表
對於具有眾多價值的下拉列表,找到合適的價值並非易事。 以前,我們已經介紹了一種在下拉框中輸入第一個字母時自動完成下拉列表的方法。 除了自動完成功能之外,您還可以使下拉列表可搜索,以提高在下拉列表中查找適當值時的工作效率。 為了使下拉列表可搜索,請嘗試本教程中的方法。

在Excel下拉列表中選擇值時自動填充其他單元格
假設您已經根據單元格區域B8:B14中的值創建了一個下拉列表。 在下拉列表中選擇任何值時,都希望在選定單元格中自動填充單元格範圍C8:C14中的相應值。 為了解決該問題,本教程中的方法將對您有所幫助。

下拉列表的更多教程...


最佳辦公效率工具

Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過300種強大功能。 支持Office / Excel 2007-2019和365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能30天免費試用。 60天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
officetab底部
按評論排序
留言 (67)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
很好地解釋了。 愛它。 謝謝 !!
網站主持人對此評論進行了最小化
優秀的職位。 您能否解釋一下如何將相同的下拉列表複製到多個單元格。 我想創建一個費用報告,並且我希望能夠從同一個下拉列表中為每一行選擇不同的費用。 謝謝你。
網站主持人對此評論進行了最小化
我有同樣的需要
網站主持人對此評論進行了最小化
由於某種原因,當我在輸入幾個字符後單擊下拉列表中的選擇時,下拉主值變為空白......知道為什麼會發生這種情況以及如何讓它停止? 我有一個命令按鈕,我想單擊它然後將選擇放入給定範圍內的下一個可用單元格中,但是當我單擊它時,該值再次變為空白。
網站主持人對此評論進行了最小化
我有完全一樣的問題。 我做的一切都是正確的,但是每次我按下回車時下拉列表標籤都會變成空白。 如果你明白了,請分享!
網站主持人對此評論進行了最小化
我的不工作。 我的下拉列表標籤在組合框的“屬性”中不起作用。 每次我進去,它就消失了。 所以我改用“測試”。 我用單詞 test 而不是 dropdowmlist 調整了宏。 讓我知道我還能做些什麼嗎? 搜索不起作用。
網站主持人對此評論進行了最小化
[quote]我的不工作。 我的下拉列表標籤在組合框的“屬性”中不起作用。 每次我進去,它就消失了。 所以我改用“測試”。 我用單詞 test 而不是 dropdowmlist 調整了宏。 讓我知道我還能做些什麼嗎? 搜索不起作用。通過伊瑪德[/quote] 我在幾個不同的網站上看到過這個“如何製作自動填充/自動建議 DDL/組合框”,他們都希望你在創建名稱範圍之前在 ListFillRange 字段中添加“一些東西”單擊公式 > 定義名稱和 ListFillRange 將始終在屬性窗口中變為空白,直到您定義名稱(公式 > 定義名稱)這就是為什麼我認為上面的 IMAD 和下面的 MAARTEN 有問題 - 雖然不是 100% 肯定。
網站主持人對此評論進行了最小化
所以我終於讓它工作了! 我將linkedcell附加到vlookup,並將所有信息排成一行。 我想知道是否可以在 vba 上進行任何擴展以在我們鍵入時實際過濾表?
網站主持人對此評論進行了最小化
嗨,我無法在“ListFillRange”中填寫“DropDownList”......有什麼問題? 我不明白imad的解決方案。 謝謝。
網站主持人對此評論進行了最小化
嘗試把 this=--ISNUMBER(IFERROR(SEARCH($A$12,$A$2,1),"")) 改為 =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),"") ) 在第 6 步
網站主持人對此評論進行了最小化
[quote]嗨,我無法在“ListFillRange”中填寫“DropDownList”......有什麼問題? 我不明白imad的解決方案。 謝謝。由馬丁[/quote] 我在上面為 IMAD 發布了這個答案,並在下面為 MAARTEN 看到了這個帖子,所以我想我也會為他發布這個。 我在幾個不同的網站上看到了這個“如何製作自動填充/自動建議 DDL/組合框”,他們都希望你在 ListFillRange 屬性字段中添加“一些東西” 他們有你 創建一個命名範圍 通過單擊公式 > 定義名稱....... ListFillRange 將始終在“屬性”窗口中變為空白 直到您定義名稱(公式>定義名稱),這就是為什麼我認為上面的 IMAD 和下面的 MAARTEN(這裡)有問題 - 雖然不是 100% 肯定。
網站主持人對此評論進行了最小化
您好,非常感謝您的解決方案。 我已經放棄了,但我會再試一次。
網站主持人對此評論進行了最小化
謝謝你..非常有幫助..上帝保佑你
網站主持人對此評論進行了最小化
我和上面的克里斯蒂娜一樣,也想知道如何為一張紙製作多個組合框。 我試過了,但是當我開始輸入第二個組合框時,會發生兩件事:1. 沒有出現下拉列表,2. 輸入 combobox2 的簡單動作會激活我原來的 combobox1 中的選擇,並在 combobox1 的下拉列表中突出顯示它。 我檢查以確保我的所有編碼都說 combobox2 用於 combobox2 等其他框,但有一個我無法弄清楚的斷開連接。
網站主持人對此評論進行了最小化
我也有同樣的問題,請問您解決了嗎??
網站主持人對此評論進行了最小化
嗨 Herb,如果我從另一個工作表創建一個下拉列表怎麼辦? 公式“ =--ISNUMBER(IFERROR(SEARCH($A$2,H2,1),""))" 引用錯誤,當我編輯它時,它不允許放置正確的單元格。 你有什麼建議? 謝謝你
網站主持人對此評論進行了最小化
嗨,如何為連續的 rwo 做同樣的可搜索程序,我試過了,它只工作一行,我想為下面的行做同樣的事情,也為不同的名字
網站主持人對此評論進行了最小化
請幫助我,當我粘貼此公式並粘貼此 =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),"")) 時,我無法在公式欄中輸入公式給我 error.type :(
網站主持人對此評論進行了最小化
謝謝,我在上面使用過,效果很好....直到您在一張紙上有兩個組合框..當您想輸入第二個組合框時,它會突出顯示第一個組合框中的文本並且不想搜索如果我將第一個框留空,第二個框工作正常請幫助
網站主持人對此評論進行了最小化
嗨,您的指南最有幫助,但我仍然遇到最後一個問題。 我正在嘗試做一個簡單的發票,並為我的客戶名稱單元格做下拉菜單,我的客戶列表必須與我的發票工作表在同一個工作表中嗎? 是否有可能我有兩個工作表,“發票”和“客戶名稱”,並在“發票”工作表中為客戶名稱做下拉列表? 謝謝
網站主持人對此評論進行了最小化
感謝您提供此細分以使組合框可搜索。 我什至讓他們三個在同一個頁面上工作。 我遇到的問題是,當我開始輸入搜索信息並且信息縮小時,如果我按向下箭頭鍵選擇列表中的項目 Excel 就會崩潰。 有沒有人遇到過這種情況,如果有,你有沒有找到解決這個問題的方法。
網站主持人對此評論進行了最小化
嗨,
你提到的問題沒有出現在我的案例中。 請提供您的 Office 版本好嗎?
網站主持人對此評論進行了最小化
嗨,正如在論壇中一樣,我需要為第 2 到 500 列提供這個可搜索的下拉列表。請讓我知道我可以如何做,因為第二個組合在第一個中復制了我不想要的相同內容
網站主持人對此評論進行了最小化
親愛的傑爾賓,
不能處理這個。 對於那個很抱歉。
網站主持人對此評論進行了最小化
4. 在屬性對話框中,您需要: 1)。 在 AutoWordSelect 字段中選擇 False; 2)。 在 LinkedCell 字段中指定一個單元格。 在這種情況下,我們輸入 A12; 為什麼選擇 A12? 謝謝
網站主持人對此評論進行了最小化
嗨,
這個單元格是可選的,它可以幫助完成整個操作。 您可以根據需要選擇任何一種。
網站主持人對此評論進行了最小化
我對使用此方法的所有文檔都存在持續問題。 每次我單擊電子表格中的另一個單元格並開始輸入時,下拉框的陰影會重新出現在其下方。 這不僅僅是一個麻煩,因為當陰影下降時,它會阻止使用任何額外的可搜索下拉框。 請幫忙!!! 這影響了我們在整個組織中使用的多個文檔。
網站主持人對此評論進行了最小化
美好的一天,
抱歉這麼晚才回复。 你解決的問題沒有出現在我的案例中。如果你能提供你的 Office 版本會很好。 謝謝!
網站主持人對此評論進行了最小化
如果留空,有沒有辦法讓搜索框放在最上面的結果? 在本例中,如果留空,它將自動輸入 china
網站主持人對此評論進行了最小化
親愛的戴夫,
您能否提供一張電子表格的屏幕截圖,顯示您正在嘗試做什麼?
網站主持人對此評論進行了最小化
您好,感謝教程! 我遇到了一個問題,每次我在組合框中鍵入時,“DropDownList1”都會從“ListFillRange”屬性中消失。 只要我不輸入框,如果我在屬性中重新輸入“DropDownList1”,框就會顯示建議。 我已經查看了所有內容,找不到任何錯誤。 這是一個常見的問題,有沒有辦法解決它? 感謝您的時間!
網站主持人對此評論進行了最小化
親愛的本,
我也對“ListFillRange”屬性中“DripDownList”的消失感到困惑
但這並不影響使下拉列表可搜索的最終結果。
網站主持人對此評論進行了最小化
我覺得很笨,但是在發布後立即意識到我可能沒有在 VBA 中將 1 添加到 DropDownList1 中,果然這就是問題所在! 不管怎麼說,還是要謝謝你!
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點