最有爱的VBA讲解

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

最有爱的VBA讲解

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注