find vba 模糊_VBA积木代码方案:实现多重查找、模糊查找、清除值

分享成果,随喜真能量。大家好,今日内容仍是和大家分享VBA编程中常用的简单“积木”过程代码,第NO.111-NO.113则,内容是:利用FindNext完成多重查找、利用ClearContents完成清除值的操作、利用FIND完成模糊查找等内容。

VBA过程代码111:利用FindNext完成多重查找

Sub mynz()

Dim StrFind As String

Dim Rng As Range

Dim FindAddress As String

StrFind = InputBox("请输入要查找的值:")

If Trim(StrFind) <> "" Then

With Sheets("7").Range("A:A")

Set Rng = .Find(What:=StrFind, _

After:=.Cells(.Cells.Count), _

LookIn:=xlValues, _

LookAt:=xlWhole, _

SearchOrder:=xlByRows, _

SearchDirection:=xlNext, _

MatchCase:=False)

If Not Rng Is Nothing Then

FindAddress = Rng.Address

Do

Rng.Interior.ColorIndex = 6 '设置成黄色

Set Rng = .FindNext(Rng)

Loop While Not Rng Is Nothing And Rng.Address <> FindAddress

End If

End With

End If

End Sub

代码的解析说明:执行上述代码后,将在工作表Sheets("7")的Range("A:A")即A列中查找用户输入的值,查找的类型是完全匹配,如果说查找到这个单元格后将执行Rng.Interior.ColorIndex = 6 即把单元格设置成黄色,其中Set Rng = .FindNext(Rng)是执行下一次查找,FindAddress = Rng.Address 是验证单元格的地址是否相同,Loop While Not Rng Is Nothing And Rng.Address <> FindAddress 是循环的条件。

VBA过程代码112:利用ClearContents完成清除值的操作

Sub mynz()

With Sheets("8")

.Range("A:A").ClearContents

END WITH

END SUB

代码的解析说明:执行上述代码后,将在工作表Sheets("8")的Range("A:A")即A列的值全部清除。但格式将保留。

VBA过程代码113:利用FIND完成模糊查找

Sub mynz()

Set rng = Sheets("8").Range("B1:E20").Find("*a*")

If Not rng Is Nothing Then

Msgbox “查找到了”

END IF

END WITH

END SUB

代码的解析说明:执行上述代码后,将在工作表Sheets("8")的Range("B1:E20")中查找含有a的单元格。加入查找到则返回提示“查找到了”

越简单的事物往往越容易理解,简单的过程组合起来就是一个复杂的过程,我们要先认真掌握这些简单的过程,才能在可以为我们复杂的工程服务。

下面是我根据自己20多年的VBA实际利用经验,编写的四部教程,这些是较大块的“积木”,可以独立的完成某些或者某类系统的过程,欢迎有需要的朋友联络(WeChat:NZ9668)分享。利用这些可以提高自己的编程效率。这些教程供有志于提高自己能力的朋友选择。

第一套:《VBA代码解决方案》PDF教程,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点,是初学及中级以下人员必备的资料。

第二套:《VBA数据库解决方案》PDF教程。数据库是数据处理的利器,对于中级人员应该掌握这个内容了。

第三套:《VBA数组与字典解决方案》PDF教程,讲解VBA的精华----字典,是我们打开思路,提高代码水平的必备资料。

第四套:《VBA代码解决方案》视频教程。目前正在录制,现在推出“每天20分钟,半年精进VBA”活动,越早参与,回馈越多。现在第一册48讲内容已经录制完成。录制到第二册71讲的课程,第二级阶段的优惠期开始。


版权声明:本文为weixin_39876739原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。