VBA函数 find

Range.Find 方法 (Excel)

在区域中查找特定信息。

语法

表达式.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

expression 一个表示 Range 对象的变量。

参数

名称

必需/可选

数据类型

说明

What

必需

Variant

要搜索的数据。 可为字符串或任意 Microsoft Excel 数据类型。

After

可选

Variant

要在其后开始搜索的单元格。 从用户界面搜索时,这对应于活动单元格的位置。

请注意,After 必须是区域内的单个单元格。 请注意,搜索在此单元格之后开始;在方法回绕到此单元格之前,不会搜索指定的单元格。

如果未指定此参数,搜索将在区域左上角的单元格后面开始。

LookIn

可选

Variant

可以是下列 XlFindLookIn 常量之一:xlFormulasxlValuesxlCommentsxlCommentsThreaded

LookAt

可选

Variant

可以是下列 XlLookAt 常量之一:xlWholexlPart

SearchOrder

可选

Variant

可以是以下 XlSearchOrder 常量之一:xlByRowsxlByColumns

SearchDirection

可选

XlSearchDirection

搜索的方向。

MatchCase

可选

Variant

如果为 True,则搜索区分大小写。 默认值为 False

MatchByte

可选

Variant

仅在选择或安装了双字节语言支持时使用。 如果为 True,则双字节字符仅匹配双字节字符。 如果为 False,则双字节字符匹配其单字节等效字符。

SearchFormat

可选

Variant

搜索格式。

返回值

一个 Range 对象,它代表在其中找到该信息的第一个单元格。

注解

如果未发现匹配项,此方法返回 NothingFind 方法不会影响所选内容或活动单元格。

每次使用此方法时,都会保存 LookInLookAtSearchOrderMatchByte 的设置。 如果在下次调用此方法时不指定这些参数的值,则使用保存的值。 设置这些参数会更改“查找”**** 对话框中的设置,更改“查找”**** 对话框中的设置会更改省略参数时使用的已保存值。 为避免出现问题,请在每次使用此方法时显式设置这些参数。

使用 FindNextFindPrevious 方法可重复搜索。

当搜索到达指定的搜索区域末尾时,它会绕到该区域开头位置。 若要在发生此绕回时停止搜索,请保存第一个找到的单元格的地址,然后针对此保存的地址测试每个连续找到的单元格地址。

若要查找与更复杂模式匹配的单元格,请将 For Each...Next 语句与 Like 运算符结合使用。 例如,以下代码搜索区域 A1:C5 中使用其名称以字母 Cour 开头的字体的所有单元格。 Microsoft Excel 找到一个匹配项时,会将字体更改为 Times New Roman。

VB

For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = "Times New Roman" End If Next`

 

示例

本示例在第一个工作表的单元格区域 A1:A500 中查找包含值 2 的所有单元格,并将这些单元格的值更改为 5。

VB

With Worksheets(1).Range("a1:a500")

    Set c = .Find(2, lookin:=xlValues)

    If Not c Is Nothing Then

        firstAddress = c.Address

        Do

            c.Value = 5

            Set c = .FindNext(c)

        Loop While Not c Is Nothing

    End If

End With

猜你喜欢

转载自www.cnblogs.com/inocalli/p/11003881.html
今日推荐