Range.Find 方法 (Excel) 您所在的位置:网站首页 获取单元格地址 Range.Find 方法 (Excel)

Range.Find 方法 (Excel)

#Range.Find 方法 (Excel) | 来源: 网络整理| 查看: 265

Range.Find 方法 (Excel) 项目 04/07/2023

在区域中查找特定信息。

注意

有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。

语法

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

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

参数 名称 必需/可选 数据类型 说明 What 必需 Variant 要搜索的数据。 可为字符串或任意 Microsoft Excel 数据类型。 After 可选 Variant 要在其后开始搜索的单元格。 从用户界面搜索时,这对应于活动单元格的位置。

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

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

LookIn 可选 Variant 可以是下列 XlFindLookIn 常量之一:xlFormulas、xlValues、xlComments 或 xlCommentsThreaded。 LookAt 可选 Variant 可以是下列 XlLookAt 常量之一:xlWhole 或 xlPart。 SearchOrder 可选 Variant 可以是以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。 SearchDirection 可选 Variant 可以是以下 XlSearchDirection 常量之一: xlNext 或 xlPrevious。 MatchCase 可选 Variant 如果为 True,则搜索区分大小写。 默认值为 False。 MatchByte 可选 Variant 仅在选择或安装了双字节语言支持时使用。 如果为 True,则双字节字符仅匹配双字节字符。 如果为 False,则双字节字符匹配其单字节等效字符。 SearchFormat 可选 Variant 搜索格式。 返回值

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

注解

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

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

使用 FindNext 和 FindPrevious 方法可重复搜索。

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

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

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。 也就是说,值 1234 和 99299 均包含2,并且单元格的值将变为 5。

Sub FindValue() Dim c As Range Dim firstAddress As String 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 End Sub

本示例在第一个工作表的单元格区域 A1:A500 中查找包含子字符串 “abc” 的所有单元格,并将这些单元格的值替换为 “xyz”。

Sub FindString() Dim c As Range Dim firstAddress As String With Worksheets(1).Range("A1:A500") Set c = .Find("abc", LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Value = Replace(c.Value, "abc", "xyz") Set c = .FindNext(c) Loop While Not c Is Nothing End If End With End Sub 支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有