本文转载自公众号:Excel之家ExcelHome,作者:随风。
https://mp.weixin.qq.com/s/iGD3FkNDq-yXTAqRjP1TyQ
老板说,很多公司他都记不住全称,能不能输入个关键字就把包含关键字的名字全列出来?
效果像下图所示:
操作步骤如下:
Step 01:
右键单击工作表标签→查看代码
Step 02:
把下面的代码复制进事件代码窗口:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Application.EnableEvents = False '禁用事件(由于这是单元格变化即可触发事件,我们还要对单元格进行录入数据)
If Target.Address = '$C$2' Then '限定触发事件的单元格为C2单元格(target表示触发事件的单元格)
Range('d2:d100').ClearContents '清除上一次的查询结果
For Each rng In Range('a2:a58') '遍历区域
If rng.Value Like '*' & Target.Value & '*' Then 'like关键字匹配包含条件的数据 *表示任意长度字符
i = Cells(Rows.Count, 4).End(xlUp).Row 1 '获取D列最后一个非空单元格行号
Cells(i, 4) = rng.Value '记录查询结果
End If
Next
End If
Application.EnableEvents = True '启用事件
End Sub
OK,只要在C2单元格输入关键字,就可以在D列显示出包含关键字的所有内容了,你也试试吧。
图文制作:随风
ExcelHome云课堂讲师
ExcelHome云课堂
专业的职场加油站
联系客服