NamedRange.Find(Object, Object, Object, Object, Object, XlSearchDirection, Object, Object, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Localiza informações específicas no controle NamedRange e retorna um objeto Range que representa a primeira célula na qual essas informações estão localizadas.
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);
Parâmetros
- What
- Object
Os dados a serem pesquisados. Pode ser uma cadeia de caracteres ou qualquer tipo de dados do Microsoft Office Excel.
- After
- Object
A célula depois da qual você deseja que a pesquisa seja iniciada. 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 célula única no intervalo. Lembre-se de que a pesquisa começa depois desta célula; a célula especificada não é pesquisada até o método voltar a encapsulá-la. Se você não especificar esse argumento, a pesquisa começará após a célula do canto superior esquerdo do intervalo.
- LookIn
- Object
O tipo de informação.
- SearchOrder
- Object
Pode ser um dos seguintes valores de XlSearchOrder: xlByRows ou xlByColumns.
- SearchDirection
- XlSearchDirection
A direção da pesquisa.
Pode ser um dos seguintes valores XlSearchDirection: xlNext ou xlPrevious.
- MatchCase
- Object
true para fazer a pesquisa diferenciar maiúsculas de minúsculas. O valor padrão é false.
- MatchByte
- Object
Usado somente se você tiver selecionado ou instalado o suporte ao idioma de byte duplo. true para ter caracteres de byte duplo correspondentes apenas a caracteres de byte duplo; false para ter caracteres de byte duplo correspondentes a equivalentes de byte único.
- SearchFormat
- Object
O formato da pesquisa.
Retornos
Um objeto Range que representa a primeira célula na qual a informação é encontrada.
Exemplos
O exemplo de código a seguir usa o Find método para localizar a primeira célula com o valor Seashell em um NamedRange controle. Em seguida, o exemplo usa os FindNext FindPrevious métodos e para localizar a próxima célula com o valor Seashell e, em seguida, retornar à célula original. Por fim, o exemplo usa o Cut método para recortar o conteúdo da primeira célula com o valor Seashell e colá-lo na célula B1.
Este exemplo destina-se a uma personalização no nível de documento.
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
Comentários
Esse método retorna null se nenhuma correspondência for encontrada.
Este método não afeta a seleção ou a célula ativa.
As configurações para LookIn , LookAt , e SearchOrder MatchByte são salvas cada vez que você usa esse método. Se você não especificar valores para esses argumentos na próxima vez que em que chamar o método, os valores salvos serão usados. Definir esses 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 serão usados se você omitir os argumentos. Para evitar problemas, defina estes argumentos explicitamente sempre que usar esse método.
Você pode usar os FindNext FindPrevious métodos e para repetir a pesquisa.
Quando a pesquisa atingir o final do intervalo de pesquisa especificado, ela será envoltada ao início do intervalo. Para interromper uma pesquisa quando esse encapsulamento ocorrer, salve o endereço da primeira célula encontrada e, em seguida, teste cada endereço de célula encontrada com esse endereço salvo.
Parâmetros opcionais
Para obter informações sobre parâmetros opcionais, consulte parâmetros opcionais em soluções do Office.