小编致力于为大家奉献最有效的经验,让大家能够解决掉问题,但是大家也都知道,每个人遇到的情况都是不一样的,大家在看小编经验的同时,除了跟随操作,也需要自己的思考,举一反三的解决问题,这样才会变得更加有内涵,成为和小编一样的经验达人。excel中使用vba完成模糊查找功能,这里,让小编给大家介绍一下。
首先我们打开一个工作样表作为例子。
进入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
查找字符串首先我们得定义变量的类型,分别定义字符串变量和区域变量。其中result为我们需要查找所输入的字符串,其的输入由inputbox函数实现。
这里首先要对输入结果进行判断,如果是输入的false值,或者是空值,那么直接退出过程。
接下来禁止屏幕元素自动更新和显示错误信息,设置区域变量为整张表格, ActiveSheet.Range("A1").CurrentRegion记住这个函数就是选取全表格。设置一个字符串变量str1,“*”作为通配符需要用“”包括。因为是模糊查询,所以不限定result的位置。
历遍全表并对值进行判断,like函数是比较函数,如果模糊匹配则更改单元格底色。恢复表格更新和消息报错。我们可以看一下结果。
我在输入框中输入了邓字,模糊匹配成功,则底纹颜色修改为绿色,此宏工作正常。
先写到这里了,谢谢大家的观看。
祝大家生活愉快。
小编还有许多其他的经验可以观看,如果无法解决问题可以联系小编进行咨询。
看不清楚图片的可以点击放大再看哦。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!