这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示


这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

近期学会了一个新技能,赶紧来给朋友们来分享一下 。下拉列表也可以查询并像百度搜索一样逐字提示了,我们先来看看效果吧 。
百度的搜索提示:
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

Excel完成后的搜索提示,任意字可搜索,下拉菜单自动提示:
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

下面来教大家具体做法 。
1.设置辅助列
下图中A列为示例数据,我们在B2单元格输入公式:
=INDEX($A$2:$A$20,SMALL(IF(ISNUMBER(FIND($E$2,$A$2:$A$20)),ROW($1:$19),4^8),ROW(1:1)))
并按Ctrl Shift Enter结束公式 。
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

2.定义名称
按组合键,在"名称管理器"窗口中选择"新建",名称为list,引用位置公式如下:
=示例!$B$2:OFFSET(示例!$B$1,COUNTIF(示例!$A:$A,"*"&示例!$E$2&"*")-1,)
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

3.设置控件
如果操作界面没有【开发工具】选项卡的,到Excel选项中设置 。
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

在【开发工具】选项卡插入ActiveX控件中的"组合框" 。
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

在控件上右键单击选择"属性",设置如下:
LinkedCell文本框中输入E2,这个是代表E2单元格,在控件中输入的内容会返回到E2单元格,在第一步的公式中通过判断E2单元格的内容来提取符合的名称 。
ListFillRange文本框中输入list,它是刚才我们定义的名称 。
MatchEntry选择2-fmMatchEntryNone , 代表不自动匹配输入的搜索内容
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

设置完成后点击【开发工具】选项卡中的"设计模式",这是退出设计模式 。
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

4.编写VBA代码
前面步骤完成之后,还需要写一段VBA代码 , 很简单的,它的作用是让组合框有下拉菜单提示 。
【开发工具】选项卡选择"Visual Basic",双击你所操作的工作表 , 在右侧输入VBA代码:
Private Sub ComboBox1_Change()
ComboBox1.ListFillRange = "list"
ComboBox1.DropDown
End Sub
关闭窗口,把工作簿保存为.xlsm格式,把B列隐藏 , 微调工作表即可得到如文前的效果 。
这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示

【这个Excel查询下拉列表像百度搜索一样,可搜索内容会逐字提示】查看我的历史文章 , 让你收获意想不到的Excel技能 。

相关经验推荐