分享

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

 XGLPOLAR 2017-07-28

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

下面来教大家具体做法。

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结束公式。

2.定义名称

按组合键,在'名称管理器'窗口中选择'新建',名称为list,引用位置公式如下:

=示例!$B$2:OFFSET(示例!$B$1,COUNTIF(示例!$A:$A,'*'&示例!$E$2&'*')-1,)

3.设置控件

如果操作界面没有【开发工具】选项卡的,到Excel选项中设置。

在【开发工具】选项卡插入ActiveX控件中的'组合框'。

在控件上右键单击选择'属性',设置如下:

LinkedCell文本框中输入E2,这个是代表E2单元格,在控件中输入的内容会返回到E2单元格,在第一步的公式中通过判断E2单元格的内容来提取符合的名称。

ListFillRange文本框中输入list,它是刚才我们定义的名称。

MatchEntry选择2-fmMatchEntryNone,代表不自动匹配输入的搜索内容

设置完成后点击【开发工具】选项卡中的'设计模式',这是退出设计模式。

4.编写VBA代码

前面步骤完成之后,还需要写一段VBA代码,很简单的,它的作用是让组合框有下拉菜单提示。

【开发工具】选项卡选择'Visual Basic',双击你所操作的工作表,在右侧输入VBA代码:

Private Sub ComboBox1_Change()

ComboBox1.ListFillRange = 'list'

ComboBox1.DropDown

End Sub

关闭窗口,把工作簿保存为.xlsm格式,把B列隐藏,微调工作表即可得到如文前的效果。

查看我的历史文章,让你收获意想不到的Excel技能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多