Note: The other languages of the website are Google-translated. Back to 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,输入下面的公式并按 输入. 他们将其自动填充句柄向下拖动到单元格 C9 以使用相同的公式自动填充单元格。 看截图:

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

说明:

1. 12澳元 是您将其指定为的单元格 链接单元 在步骤 4 中;
2、完成上述步骤后,现在可以测试:在组合框中输入一个字母C,然后可以看到引用包含字符C的单元格的公式单元格被数字1填充了。

7.选择单元格D2,输入下面的公式并按 输入. 然后将其自动填充句柄向下拖动到单元格 D9。

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

8.选择单元格E2,输入下面的公式并按 输入. 然后将其自动填充手柄向下拖动到 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应用程序 窗口。

12. 将下面的 VBA 代码复制并粘贴到代码编辑器中。

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

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

13。 按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。

从现在开始,当在组合框中输入一个字符时,它会进行模糊搜索,然后在列表中列出相关值。

备注:您需要将此工作簿保存为 Excel 启用宏的工作簿文件,以便保留 VBA 代码以供将来使用。


使用出色的工具轻松创建可搜索的下拉列表

上面的方法好像不太好处理。 这里推荐一个方便的功能—— 可搜索的下拉列表 of Kutools for Excel 帮助在 Excel 中轻松创建可搜索的下拉列表。

申请前 Kutools for Excel首先下载并安装.

请按照以下步骤创建具有可搜索下拉列表功能的可搜索下拉列表。

1。 点击 库工具 > 下拉列表 > 可搜索的下拉列表 > 启用可搜索下拉列表.

2.在开幕 Kutools for Excel 对话框(此对话框仅在您第一次应用此功能时弹出),单击 按钮。

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   产品特性
建议地点