分享成果,随喜真能量。大家好,今日内容仍是和大家分享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讲的课程,第二级阶段的优惠期开始。