Share via


NamedRange.Find 方法

定义

NamedRange 控件中查找特定的信息,然后返回一个 Range 对象,该对象表示在其中找到此信息的第一个单元格。

public Microsoft.Office.Interop.Excel.Range Find (object What, object After, object LookIn, object LookAt, object SearchOrder, Microsoft.Office.Interop.Excel.XlSearchDirection SearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, object MatchCase, object MatchByte, object SearchFormat);
abstract member Find : obj * obj * obj * obj * obj * Microsoft.Office.Interop.Excel.XlSearchDirection * obj * obj * obj -> Microsoft.Office.Interop.Excel.Range
Public Function Find (What As Object, Optional After As Object, Optional LookIn As Object, Optional LookAt As Object, Optional SearchOrder As Object, Optional SearchDirection As XlSearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, Optional MatchCase As Object, Optional MatchByte As Object, Optional SearchFormat As Object) As Range

参数

What
Object

要搜索的数据。 可以是字符串或任何 Microsoft Office Excel 数据类型。

After
Object

从其后开始搜索的单元格。 此单元格就是从用户界面执行的搜索完成后处于活动状态的单元格。 请注意, After 必须是区域中的单个单元格。 请记住,搜索将从该单元格之后开始;只有方法绕回到指定的单元格之后,才会搜索该单元格。 如果您未指定此参数,则从该范围左上角中的单元格之后开始搜索。

LookIn
Object

信息的类型。

LookAt
Object

可以是下列 XlLookAt 值之一:xlWholexlPart

SearchOrder
Object

可以是下列 XlSearchOrder 值之一:xlByRowsxlByColumns

SearchDirection
XlSearchDirection

搜索方向。可以是以下 XlSearchDirection 值之一: xlNextxlPrevious

MatchCase
Object

如果在搜索时区分大小写,则为 true。 默认值为 false

MatchByte
Object

仅当已选择或安装双字节语言支持时,才会用到此参数。 如果让双字节字符仅与双字节字符相匹配,则为 true;如果让双字节字符与其单字节等效字符相匹配,则为 false

SearchFormat
Object

搜索格式。

返回

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

示例

下面的代码示例使用 Find 方法查找 控件中具有 值 Seashell 的第一个 NamedRange 单元格。 然后, FindNext 该示例使用 和 FindPrevious 方法查找具有 值的 Seashell 下一个单元格,然后返回到原始单元格。 最后,该示例使用 Cut 方法剪切具有 值 Seashell 的第一个单元格的内容,并将其粘贴到单元格 B1 中。

此示例适用于文档级自定义项。

private void FindValue()
{
    this.Range["A1"].Value2 = "Barnacle";
    this.Range["A2"].Value2 = "Seashell";
    this.Range["A3"].Value2 = "Star Fish";
    this.Range["A4"].Value2 = "Seashell";
    this.Range["A5"].Value2 = "Clam Shell";

    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A5"],
        "namedRange1");

    // Find the first occurrence of "Seashell".
    Excel.Range Range1 = namedRange1.Find("Seashell",
        Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns,
        Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext,
        false);

    // Find the next occurrence of "Seashell".
    Range1 = namedRange1.FindNext(Range1);

    // Return to the first occurrence of "Seashell".
    Range1 = namedRange1.FindPrevious(Range1);

    // Cut the range with the first "Seashell" and copy it to cell B1.
    Microsoft.Office.Tools.Excel.NamedRange namedRange2 =
        this.Controls.AddNamedRange(Range1, "namedRange2");
    namedRange2.Cut(this.Range["B1"]);
}
Private Sub FindValue()
    Me.Range("A1").Value2 = "Barnacle"
    Me.Range("A2").Value2 = "Seashell"
    Me.Range("A3").Value2 = "Star Fish"
    Me.Range("A4").Value2 = "Seashell"
    Me.Range("A5").Value2 = "Clam Shell"

    Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
        = Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
        "namedRange1")

    ' Find the first occurrence of "Seashell".
    Dim Range1 As Excel.Range = namedRange1.Find("Seashell", , , _
        Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, _
        Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, _
        False, False, )

    ' Find the next occurrence of "Seashell".
    Range1 = namedRange1.FindNext(Range1)

    ' Return to the first occurrence of "Seashell".
    Range1 = namedRange1.FindPrevious(Range1)

    ' Cut the range with the first "Seashell" and copy it to cell B1.
    Dim namedRange2 As Microsoft.Office.Tools.Excel.NamedRange _
        = Me.Controls.AddNamedRange(Range1, "namedRange2")
    namedRange2.Cut(Me.Range("B1"))
End Sub

注解

如果未找到匹配项, null 则此方法返回 。

此方法不会影响所选内容或活动单元格。

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

可以使用 FindNextFindPrevious 方法重复搜索。

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

可选参数

有关可选参数的信息,请参阅 Office 解决方案中的可选参数

适用于