​​Excel技巧,Excel 实现智能输入精确匹配 让可供选择的条目自动减少!

​​​​Excel技巧,Excel 实现智能输入精确匹配 让可供选择的条目自动减少!

 

随着输入文本的逐步增多,供选择的条目会逐渐自动减少,直至精确匹配,如下图1所示。  图1 其实,实现上述效果的过程很简单。 将数据放置在工作表S

随着输入文本的逐步增多,供选择的条目会逐渐自动减少,直至精确匹配,如下图1所示。

006fRELkly4h226v0gpssg30ae07jaa2

图1

其实,实现上述效果的过程很简单。

将数据放置在工作表Sheet1的列A中,如图2所示。

006fRELkly4h226v0bt07j309006xjrd

图2

创建动态的名称Data,如图3所示。

006fRELkly4h226v0brklj30c906m74e

图3

在VBE中,创建一个如图4所示的用户窗体,上方用于输入的文本框命名为txtFind,下方用于显示的列表框命名为lbxData。

006fRELkly4h226v0h5c4j30ae07jglj

图4

在用户窗体模块中,输入代码:

'Excelbook 创建

 

PrivateSub txtFind_Change()

Dim i As Long

Dim strFind As String

strFind = "*" &UCase(Me.txtFind.Text) & "*"

With Me.lbxData

.List = Application.Transpose([Data])

For i = .ListCount - 1 To 0 Step -1

If Not UCase(.List(i)) Like strFindThen

.RemoveItem i

End If

Next i

End With

EndSub

说明:

在文本框中输入内容时,VBA会即时将输入的内容和列表框中的数据进行比较,并移除不匹配的数据。

也可以在代码中使用VBA的Filter函数,达到同样的效果:

'Excelbook 创建

PrivateSub txtFind_Change()

Me.lbxData.List =Filter(SourceArray:=Application.Transpose([Data]), _

Match:=txtFind.Value, _

Include:=True, _

Compare:=vbTextCompare)

EndSub

扩展

收集用户输入的数据:如果用户输入的数据不在已有列表中,那么可以将该数据自动放置到列表中,这样,再次输入时就会出现该数据。

 

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

电商数据分析360°实战攻略!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

文章版权声明 1、本网站名称:Excelbook
2、本站永久网址:http://www.excelbook.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长王小琥进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END
分享
二维码
< <上一篇
下一篇>>