老板说,他很多公司都记不住全称,能不能随便输入个关键字就把包含关键字的名字全列出来?
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