例解Excel VBA 联系客服

发布时间 : 星期四 文章例解Excel VBA更新完毕开始阅读031b8adff111f18582d05a8f

— 设置将更改使用的保存值。要避免出现这一问题,每次使用此方法时最好明确设置这些参数。 (2)FindNext方法 FindNext方法继续由Find方法开始的搜索。查找匹配相同条件的下一个单元格,并返回表示该单元格的Range对象。该操作不影响选定内容和活动单元格。其语法格式如下:

表达式.FindNext(After)

参数After指定一个单元格,查找将从该单元格之后开始。此单元格对应于从用户界面搜索时的活动单元格位置。

After必须是查找区域中的单个单元格。搜索是从该单元格之后开始的;直到本方法环绕到此单元格时,才检测其内容。如果未指定本参数,查找将从区域的左上角单元格之后开始。

当查找到指定查找区域的末尾时,FindNext方法将环绕至区域的开始继续搜索。发 生环绕后,为停止查找,可保存第一次找到的单元格地址,然后测试下一个查找到的单元格地址是否与其相同。 3.编写代码

―查找‖按钮的VBA代码如下: Sub 查找指定值() Dim result As String, str1 As String, str2 As String Dim c As Range

result = Application.InputBox(prompt:=\请输入要查找的值:\查找\

Type:=2)

If result = \ Application.ScreenUpdating = False Application.DisplayAlerts = False With ActiveSheet.Cells

Set c = .Find(result, , , xlWhole, xlByColumns, xlNext, False) If Not c Is Nothing Then str1 = c.Address Do c.Interior.ColorIndex = 4 '加亮显示 str2 = str2 & c.Address & vbCrLf Set c = .FindNext(c)

Loop While Not c Is Nothing And c.Address <> str1 End If End With MsgBox \查找到指定数据在以下单元格中:\ & str2, vbInformation + vbOKOnly, \查找结果\ Application.ScreenUpdating = True

Application.DisplayAlerts = True End Sub 以上代码首先让用户输入查找的值,接着使用Find方法查找第一个满足条件的单元 格,再使用循环查找当前工作簿中下一个满足条件的单元格,并在循环中对满足条件的单元格设置不同的底纹,以突出显示。

例261 带格式查找

打开本例工作簿如图12-15所示,单击左上角的―查找指定格式‖按钮,单元格A2将被选中,并填上不同的底色。

1.案例说明

图12-15 带格式查找 2.关键技术

本例使用Application对象的FindFormat属性,设置要查找的单元格格式类型的搜

索条件,然后使用Find方法按格式进行查找。 3.编写代码

―查找指定格式‖按钮的VBA代码如下: Sub 查找指定格式() With Application.FindFormat.Font .Name = \宋体\ .FontStyle = \ .Size = 11 End With Cells.Find(what:=\ Selection.Interior.ColorIndex = 4 '加亮显示 End Sub

以上代码首先使用FindFormat属性设置查找的格式条件,接着使用Find方法按格

式查找并激活满足条件的单元格,最后加亮显示激活单元格。

例262 查找上一个/下一个数据

1.案例说明

打开本例工作簿如图12-16所示,单击右上角的―查找‖按钮,将弹出输入查找条件

对话框,在对话框中输入查找条件单击―确定‖按钮,即可在当前工作表中查找满足