Partilhar via


Método NamedRange.Find

Localiza informações específicas da NamedRange controle e retorna um Microsoft.Office.Interop.Excel.Range o objeto que representa a primeira célula onde essas informações se encontram.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
Function Find ( _
    What As Object, _
    After As Object, _
    LookIn As Object, _
    LookAt As Object, _
    SearchOrder As Object, _
    SearchDirection As XlSearchDirection, _
    MatchCase As Object, _
    MatchByte As Object, _
    SearchFormat As Object _
) As Range
Range Find(
    Object What,
    Object After,
    Object LookIn,
    Object LookAt,
    Object SearchOrder,
    XlSearchDirection SearchDirection,
    Object MatchCase,
    Object MatchByte,
    Object SearchFormat
)

Parâmetros

  • What
    Tipo: System.Object
    Os dados para pesquisar.Pode ser uma seqüência de caracteres ou qualquer tipo de dados do Excel de Microsoft Office.
  • After
    Tipo: System.Object
    A célula após o qual você deseja que a pesquisa comece.Isso corresponde à posição da célula ativa quando uma pesquisa é feita a partir da interface do usuário.Observe que After deve ser uma única célula no intervalo.Lembre-se de que a pesquisa começa depois desta célula; a célula especificada não é pesquisada até que o método dê a volta e chegue a essa célula.Se você não especificar esse argumento, a pesquisa começará após a célula no canto superior esquerdo do intervalo.
  • MatchCase
    Tipo: System.Object
    true Para fazer a pesquisa diferencia maiúsculas de minúsculas.O valor padrão é false.
  • MatchByte
    Tipo: System.Object
    Usado somente se você selecionou ou instalou o suporte a idiomas de byte duplo.truepara assegurar que os caracteres de byte duplo coincida somente caracteres de byte duplo; falsepara que os caracteres de dois bytes coincidam com seus equivalentes de byte único.

Valor de retorno

Tipo: Microsoft.Office.Interop.Excel.Range
A Microsoft.Office.Interop.Excel.Range o objeto que representa a primeira célula onde as informações são encontradas.

Comentários

Esse método retorna nulluma referência nula (Nothing no Visual Basic) se nenhuma correspondência for encontrada.

Este método não afeta a seleção ou a célula ativa.

As configurações de LookIn, LookAt, SearchOrder, e MatchByte são salvas toda vez que você pode usar este método. Se você não especificar valores para esses argumentos na próxima vez que você chamar o método, os valores salvos são usados. A definição desses argumentos altera as configurações na caixa de diálogo Localizar e alterar as configurações na caixa de diálogo Localizar altera os valores salvos que são usados se você omitir os argumentos. Para evitar problemas, defina explicitamente esses argumentos toda vez que você usar esse método.

Você pode usar o FindNext e FindPrevious métodos para repetir a pesquisa.

Quando a pesquisa chega ao fim do intervalo de pesquisa especificado, ela continua até o início do intervalo. Para interromper uma pesquisa quando esse retorno ocorre, salve o endereço da primeira célula encontrada e teste cada endereço de célula encontrada sucessivo contra esse endereço salvo.

Optional Parameters

Para obter informações sobre os parâmetros opcionais, consulte Parâmetros opcionais em soluções do Office.

Exemplos

O seguinte exemplo de código usa a Find método para localizar a primeira célula com o valor concha do mar em um NamedRange de controle. O exemplo usa o FindNext e FindPrevious métodos para localizar a próxima célula com o valor concha do mar e retornar à célula original. Finalmente, o exemplo usa o Cut método para recortar o conteúdo da primeira célula com o valor concha do mar e colá-lo na célula B1.

Este exemplo é para uma personalização em nível de documento.

    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

private void FindValue()
{
    this.Range["A1", missing].Value2 = "Barnacle";
    this.Range["A2", missing].Value2 = "Seashell";
    this.Range["A3", missing].Value2 = "Star Fish";
    this.Range["A4", missing].Value2 = "Seashell";
    this.Range["A5", missing].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", missing, missing,
        Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns,
        Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext,
        false, false, missing);

    // 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", missing]);
}

Segurança do .NET Framework

Consulte também

Referência

NamedRange Interface

Namespace Microsoft.Office.Tools.Excel