Método Range.Find (Excel)Range.Find method (Excel)

Busca información específica en una hoja de cálculo.Finds specific information in a range.

SintaxisSyntax

expression.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)expression.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

expresión Variable que representa un objeto Range.expression A variable that represents a Range object.

ParametersParameters

NombreName Obligatorio/opcionalRequired/Optional Tipo de datosData type DescripciónDescription
WhatWhat ObligatorioRequired VariantVariant El texto que se va a buscar.The data to search for. Puede ser una cadena o cualquier tipo de datos de Microsoft Excel.Can be a string or any Microsoft Excel data type.
AfterAfter OpcionalOptional VariantVariant La celda después de la que quiere que se inicie la búsqueda.The cell after which you want the search to begin. Se corresponde a la posición de la celda activa cuando se realiza una búsqueda desde la interfaz de usuario.This corresponds to the position of the active cell when a search is done from the user interface.

Tenga en cuenta que After debe ser una sola celda del rango.Notice that After must be a single cell in the range. Recuerde que la búsqueda comienza después de esta celda. No se buscará en la celda especificada hasta que el método regrese a esta celda.Remember that the search begins after this cell; the specified cell isn't searched until the method wraps back around to this cell.

Si no especifica este argumento, la búsqueda comienza después de la celda en la esquina superior izquierda del rango.If you do not specify this argument, the search starts after the cell in the upper-left corner of the range.
LookInLookIn OpcionalOptional VariantVariant Puede ser una de las siguientes constantes XlFindLookIn: xlFormulas, xlValues, xlComments o xlCommentsThreaded.Can be one of the following XlFindLookIn constants: xlFormulas, xlValues, or xlComments.
LookAtLookAt OpcionalOptional VariantVariant Puede ser una de las siguientes constantes xlLookAt: xlWhole o xlPart.Can be one of the following XlLookAt constants: xlWhole or xlPart.
SearchOrderSearchOrder OpcionalOptional VariantVariant Puede ser una de las siguientes constantes XlSearchOrder: xlByRows o xlByColumns.Can be one of the following XlSearchOrder constants: xlByRows or xlByColumns.
SearchDirectionSearchDirection OpcionalOptional XlSearchDirectionXlSearchDirection Dirección de la búsqueda.The search direction.
MatchCaseMatchCase OpcionalOptional VariantVariant Si es True, la búsqueda distingue entre mayúsculas y minúsculas.True to make the search case-sensitive. El valor predeterminado es False.The default value is False.
MatchByteMatchByte OpcionalOptional VariantVariant Solo se usa si ha seleccionado o instalado la compatibilidad con idiomas de doble byte.Used only if you have selected or installed double-byte language support. True para que los caracteres de doble byte solo coincidan con caracteres de doble byte.True to have double-byte characters match only double-byte characters. False para que los caracteres de doble byte coincidan con sus equivalentes de byte único.False to have double-byte characters match their single-byte equivalents.
SearchFormatSearchFormat OpcionalOptional VariantVariant Formato de la búsqueda.The search format.

Valor devueltoReturn value

Un objeto Range que representa la primera celda en la que se encuentra información.A Range object that represents the first cell where that information is found.

ComentariosRemarks

Este método devuelve Nothing si no se encuentra ninguna coincidencia.This method returns Nothing if no match is found. El método Find no afecta a la selección ni a la celda activa.The Find method does not affect the selection or the active cell.

La configuración de LookIn, LookAt, SearchOrder y MatchByte se guarda cada vez que se usa este método.The settings for LookIn, LookAt, SearchOrder, and MatchByte are saved each time you use this method. Si no especifica valores para estos argumentos la próxima vez que llame al método, se usan los valores guardados.If you do not specify values for these arguments the next time you call the method, the saved values are used. Establecer los argumentos siguientes cambia la configuración del cuadro de diálogo Buscar, y cambiar la configuración del cuadro de diálogo Buscar cambia los valores guardados que se usan si se omiten los argumentos.Setting these arguments changes the settings in the Find dialog box, and changing the settings in the Find dialog box changes the saved values that are used if you omit the arguments. Para evitar problemas, establezca estos argumentos de forma explícita cada vez que use este método.To avoid problems, set these arguments explicitly each time you use this method.

Puede usar los métodos FindNext y FindPrevious para repetir la búsqueda.You can use the FindNext and FindPrevious methods to repeat the search.

Cuando la búsqueda llega al final del rango de búsqueda especificado, vuelve al principio del rango.When the search reaches the end of the specified search range, it wraps around to the beginning of the range. Para detener una búsqueda cuando se produzca esta situación, guarde la dirección de la primera celda que se encuentre y, después, pruebe la dirección de cada celda sucesiva que se haya encontrado con esta dirección guardada.To stop a search when this wraparound occurs, save the address of the first found cell, and then test each successive found-cell address against this saved address.

Para buscar celdas que coincidan con diseños más complicados, use una instrucción For Each...Next con el operador Like.To find cells that match more complicated patterns, use a For Each...Next statement with the Like operator. Por ejemplo, en el código siguiente se buscan todas las celdas del rango A1:C5 en las que se usa una fuente cuyo nombre comience por las letras Cour.For example, the following code searches for all cells in the range A1:C5 that use a font whose name starts with the letters Cour. Cuando Microsoft Excel encuentra una coincidencia, cambia la fuente a Times New Roman.When Microsoft Excel finds a match, it changes the font to 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`

EjemploExample

En este ejemplo, se busca en todas las celdas del rango A1:A500 de la hoja de cálculo una que contenga el valor 2 y se cambia por 5.This example finds all cells in the range A1:A500 on worksheet one that contain the value 2, and changes it to 5.

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

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.