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

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

工具/原料

  • excel2016

方法/步骤

  1. 1

    首先我们打开一个工作样表作为例子。

  2. 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

            End If

        Next

       

        Application.ScreenUpdating = True

        Application.DisplayAlerts = True

    End Sub

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

    先写到这里了,谢谢大家的观看。

    祝大家生活愉快。

    小编还有许多其他的经验可以观看,如果无法解决问题可以联系小编进行咨询。

    看不清楚图片的可以点击放大再看哦。

注意事项

  • 发表于 2018-01-29 00:00
  • 阅读 ( 369 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论