excel中使用vba完成模糊查找功能

小编致力于为大家奉献最有效的经验 , 让大家能够解决掉问题 , 但是大家也都知道 , 每个人遇到的情况都是不一样的 , 大家在看小编经验的同时 , 除了跟随操作 , 也需要自己的思考 , 举一反三的解决问题 , 这样才会变得更加有内涵 , 成为和小编一样的经验达人 。 excel中使用vba完成模糊查找功能 , 这里 , 让小编给大家介绍一下 。

excel中使用vba完成模糊查找功能

文章插图
工具/原料excel2016

方法/步骤1首先我们打开一个工作样表作为例子 。

excel中使用vba完成模糊查找功能

文章插图

2进入vba编辑器 , 插入一个新的模块 , 并在模块编辑器中输入以下代码:
Sub 模糊查询()
    Dim result As String, str1 As String
    Dim c As Range, rng As Range
    result = Application.InputBox(prompt:="请输入要查找的值:", _
        Title:="模糊查找", Type:=2)
    If result = "False" Or result = "" Then Exit Sub
   
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    Set rng = ActiveSheet.Range("A1").CurrentRegion
    str1 = "*" & result & "*"
    For Each c In rng.Cells
        If c.Value Like str1 Then
            c.Interior.ColorIndex = 4
        If
    Next
   
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
Sub

excel中使用vba完成模糊查找功能

文章插图

3查找字符串首先我们得定义变量的类型 , 分别定义字符串变量和区域变量 。 其中result为我们需要查找所输入的字符串 , 其的输入由inputbox函数实现 。

excel中使用vba完成模糊查找功能

文章插图

4这里首先要对输入结果进行判断 , 如果是输入的false值 , 或者是空值 , 那么直接退出过程 。

excel中使用vba完成模糊查找功能

文章插图

5接下来禁止屏幕元素自动更新和显示错误信息 , 设置区域变量为整张表格 ,  ActiveSheet.Range("A1").CurrentRegion记住这个函数就是选取全表格 。 设置一个字符串变量str1 , “*”作为通配符需要用“”包括 。 因为是模糊查询 , 所以不限定result的位置 。

excel中使用vba完成模糊查找功能

文章插图

6历遍全表并对值进行判断 , like函数是比较函数 , 如果模糊匹配则更改单元格底色 。 恢复表格更新和消息报错 。 我们可以看一下结果 。

excel中使用vba完成模糊查找功能

文章插图

7我在输入框中输入了邓字 , 模糊匹配成功 , 则底纹颜色修改为绿色 , 此宏工作正常 。

excel中使用vba完成模糊查找功能

文章插图

8【excel中使用vba完成模糊查找功能】先写到这里了 , 谢谢大家的观看 。
祝大家生活愉快 。
小编还有许多其他的经验可以观看 , 如果无法解决问题可以联系小编进行咨询 。

推荐阅读