1、示例1:基于ActiveX控件中的复合框,实现带模糊查找的下拉选择列表

在处理电子表格时,重复填写的文字,做成选择题,这样做既快又准。Excel中,调用数据验证功能(WPS中仍称为数据有效性),里边有一个定义序列的选项,可将重复录入的文字做成一个下拉列表。

这里有一个这样例子:世界500强的排名信息,我想从列表中选出一家中国最牛的企业。即使做了下拉列表,但是百里挑一也不轻松。

我试着在选择栏输入一个关键字:中国,再打开下拉列表,可以看到只有包含“中国”的所有选项了,是不是方便多了。

这个选项的内容在数据源的工作表里,可以改成其他的内容。这个表单工作表的格式也可以修改为需要的。

用过数据验证的同学知道,数据验证创建的下拉列表是不能输入关键字检索的。而这个例子就是Excel原生功能实现的。这里使用了开发工具菜单ActiveX控件中的复合框,结合工作表函数实现。甚至还没有使用VB宏(你不用担心弹出宏的安全性警告)。在最新版的Excel365、Excel2021,WPS都是可以使用的。

  • 2、示例2:基于数据验证实现的,带模糊检索功能的下拉选择列表

这里还有一个使用数据验证的支持模糊检索的例子。数据验证有一个好处是可以设置:当录入的内容不符限制条件时,可以弹出警告消息提示。

为了实现模糊查找,先在单独的一个单元格里输入关键字,再打开下拉列表,里边的选项会根据关键字做出过滤。

这块发现了一个Excel数据验证的小缺陷,设定数据验证条件之前,在单元格填写的内容,数据验证的条件限制是不会起作用的。这一点WPS就做得更好。WPS会有一个提示。这里要为国产软件点赞。

  • 3、示例1 :和数据验证一样,让基于ActiveX控件的下拉选择列表提供错误提示

如果要为可编辑下拉列表的例子,增加一个类似数据验证的错误提示消息,那就需要VBA了。找到VBA常用代码库,复制现成代码就行,

运行结果如图。

所有例子在最新版的Excel365、2021,WPS都是可以使用的。