NamedRange.Find(Object, Object, Object, Object, Object, XlSearchDirection, Object, Object, Object) Метод

Определение

Находит определенные данные в элементе управления 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);

Параметры

What
Object

Искомые данные. Может быть строкой или типом данных Microsoft Office Excel.

After
Object

Ячейка, после которой следует начать поиск. Это соответствует положению активной ячейки при выполнении поиска из пользовательского интерфейса. Следует отметить, что After должна быть единственной ячейкой в диапазоне. Помните, что поиск начинается после этой ячейки; поиск указанной ячейки не осуществляется до тех пор, пока метод не вернется к этой ячейке. Если этот аргумент не указывается, поиск начинается после ячейки в верхнем левом углу диапазона.

LookIn
Object

Тип данных.

LookAt
Object

Может быть одно из следующих значений XlLookAt: xlWhole или xlPart.

SearchOrder
Object

Может быть одно из следующих значений XlSearchOrder: xlByRows или xlByColumns.

SearchDirection
XlSearchDirection

Направление поиска.

Может иметь одно из следующих значений XlSearchDirection: xlNext или xlPrevious.

MatchCase
Object

Значение true, чтобы при поиске учитывался регистр. Значение по умолчанию — false.

MatchByte
Object

Используется только в случае выбора или установки поддержки двухбайтовых языков. Значение true, чтобы двухбайтовые символы соответствовали только двухбайтовым символам; значение false, чтобы двухбайтовые символы соответствовали своим однобайтовым эквивалентам.

SearchFormat
Object

Формат поиска.

Возвращаемое значение

Range

Объект 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 , если совпадение не найдено.

Этот метод не влияет на выделение или активную ячейку.

Параметры для LookIn , LookAt , SearchOrder и MatchByte сохраняются каждый раз при использовании этого метода. Если не указать значения для этих аргументов при следующем вызове метода, будут использоваться сохраненные значения. Установка этих аргументов изменяет параметры в диалоговом окне найти, а изменение параметров в диалоговом окне Найти приводит к изменению сохраненных значений, которые используются, если аргументы не заданы. Чтобы избежать проблем, устанавливайте эти аргументы явным образом при каждом использовании этого метода.

FindNext FindPrevious Для повторения поиска можно использовать методы и.

Когда поиск достигает конца указанного диапазона поиска, он переносится в начало диапазона. Чтобы прерывать Поиск при возникновении этого врапараунд, сохраните адрес первой найденной ячейки, а затем протестируйте каждый последовательный адрес ячейки, найденный в этом сохраненном адресе.

Необязательные параметры

Дополнительные сведения о необязательных параметрах см. в разделе необязательные параметры в решениях Office.

Применяется к