Función de búsqueda de Excel VBA

¿Quién no conoce el método FIND en Excel? Estoy seguro de que todos saben quién se ocupa de las hojas de cálculo de Excel. ENCONTRAR o la tecla de acceso directo popular Ctrl + F encontrará la palabra o el contenido que está buscando en toda la hoja de trabajo, así como en todo el libro. Cuando dices buscar significa que estás encontrando en celdas o rangos, ¿no? Sí, el método de búsqueda correcto es parte de las celdas o rangos en Excel, así como en VBA.

De manera similar, en VBA Find, tenemos una opción llamada función FIND que puede ayudarnos a encontrar el valor que estamos buscando. En este artículo, lo llevaré a través de la metodología de FIND en VBA.

Fórmula para encontrar la función en Excel VBA

En la hoja de trabajo de Excel normal, simplemente escribimos la tecla de acceso directo Ctrl + F para encontrar el contenido. Pero en VBA necesitamos escribir una función para encontrar el contenido que estamos buscando. Ok, veamos la sintaxis FIND entonces.

Sé lo que está sucediendo en tu mente, estás perdido al mirar esta sintaxis y no estás entendiendo nada. Pero nada de qué preocuparse antes de explicarle la sintaxis, permítame presentarle el cuadro de búsqueda normal.

Si observa lo que hay en Ctrl + F normal, todo está allí en la sintaxis de VBA Find también. Ahora eche un vistazo a lo que dice cada palabra en sintaxis.

Qué: Simplemente lo que estás buscando. Aquí debemos mencionar el contenido que estamos buscando.

Después: después de qué celda desea buscar.

LookIn: dónde buscar lo que está buscando, por ejemplo, fórmulas, valores o comentarios. Los parámetros son xlFormulas, xlValues, xlComments.

LookAt: si está buscando todo el contenido o solo una parte del contenido. Los parámetros son xlWhole, xlPart.

SearchOrder: ¿Está buscando en filas o columnas? xlByRows o xlByColumns.

SearchDirection: ¿Está mirando la celda siguiente o la celda anterior? xlNext, xlPrevious.

MatchCase: el contenido que está buscando distingue entre mayúsculas y minúsculas o no. Verdadero o falso.

MatchByte: esto es solo para idiomas de doble byte. Verdadero o falso.

SearchFormat: ¿Está buscando formateando? Si está buscando formato, entonces necesita usar el método Application.FindFormat .

Esta es la explicación de la sintaxis del método VBA FIND. Aparte del primer parámetro, todo es opcional. En la sección de ejemplos, veremos cómo usar este método FIND en la codificación de VBA.

¿Cómo usar Excel VBA Find Function?

Aprenderemos cómo usar una función VBA Find Excel con algunos ejemplos.

Puede descargar esta plantilla VBA Find Excel aquí - VBA Find Excel Template

Función de búsqueda de VBA - Ejemplo # 1

Primero, permítame explicarle un ejemplo simple del uso de la propiedad FIND y encontrar el contenido que estamos buscando. Suponga a continuación los datos que tiene en su hoja de Excel.

Paso 1: a partir de esto, quiero encontrar el nombre de John, abramos un Visual Basic y comencemos la codificación.

Código:

 Sub Find_Ex1 () End Sub 

Paso 2: Aquí no puede comenzar la palabra ENCONTRAR, porque ENCONTRAR es parte de la propiedad RANGE. Entonces, en primer lugar, necesitamos mencionar dónde estamos mirando, es decir, Rango.

Paso 3: Así que primero mencione el rango donde estamos buscando. En nuestro ejemplo, nuestro rango es de B2 a B11.

Código:

 Sub Find_Ex1 () Rango ("B2: B11") End Sub 

Paso 4: Después de mencionar el rango, ponga un punto (.) Y escriba FIND. Debe ver ENCONTRAR propiedad.

Paso 5: Seleccione la propiedad ENCONTRAR y abra el soporte.

Paso 6: Nuestro primer argumento es lo que estamos buscando. Para resaltar el argumento, podemos pasar el argumento de esta manera What: =, esto sería útil para identificar a qué parámetro nos estamos refiriendo.

Código:

 Sub Find_Ex1 () Rango ("B2: B11"). Find (What: = "John") End Sub 

Paso 7: La parte final es después de encontrar la palabra lo que queremos hacer. Necesitamos seleccionar la palabra, así que pasa el argumento como. Seleccionar

Código:

 Sub Find_Ex1 () Rango ("B2: B11"). Find (What: = "John"). Seleccione End Sub 

Paso 8: Luego ejecute este código usando la tecla F5 o manualmente como se muestra en la figura, para seleccionar la primera palabra encontrada Johnson que contiene una palabra, John.

Función de búsqueda de VBA - Ejemplo # 2

Ahora te mostraré cómo encontrar la palabra de comentario usando el método find. Tengo datos y en tres celdas tengo un comentario.

Esas celdas con bandera roja tienen comentarios. De este comentario, quiero buscar la palabra "Sin comisión".

Paso 1: Comience el código mencionando el Rango ("D2: D11") y ponga un punto (.) Y escriba Buscar

Código:

 Sub Find_Ex2 () Rango ("D2: D11"). Find (End Sub 

Paso 2: en el argumento QUÉ, escriba la palabra "Sin comisión".

Código:

 Sub Find_Ex2 () Rango ("D2: D11"). Find (What: = "No Commission", End Sub 

Paso 3: ignore la parte After y seleccione la parte LookIn. En la parte LookIn estamos buscando esta palabra en los comentarios, así que seleccione xlComments y luego pase el argumento como .Select

Código:

 Sub Find_Ex2 () Range ("D2: D11"). Find (What: = "No Commission", LookIn: = xlComments) .Select End Sub 

Paso 4: Ahora ejecute este código con la tecla F5 o manualmente como se muestra en la figura para que seleccione la celda que tiene el comentario "Sin comisión". En la celda D9 tenemos un comentario mencionado.

Tratar con valores de error en Excel VBA Buscar

Si la palabra que buscamos no se encuentra en el rango, hemos proporcionado un código VBA que devolverá un error como este.

Para mostrarle al usuario que el valor que está buscando no está disponible, necesitamos el siguiente código.

Si el código anterior encontró el valor, muestra el valor y la dirección de la celda o, de lo contrario, mostrará el mensaje como "¡¡¡ El valor que está buscando no está disponible en el rango suministrado !!!".

Cosas para recordar

  • VBA FIND es parte de la propiedad RANGE y debe usar FIND después de seleccionar solo el rango.
  • En FIND, el primer parámetro es obligatorio (What), aparte de esto, todo lo demás es opcional.
  • Si encuentra el valor después de una celda específica, puede mencionar la celda en el parámetro Después de la sintaxis Buscar.

Artículos recomendados

Esta ha sido una guía para la función de búsqueda de VBA. Aquí discutimos VBA Find y cómo usar Excel VBA Find Function junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ENCONTRAR Función en Excel
  2. Función VBA en Excel
  3. Guía de rango en Excel
  4. ¿Cómo utilizar la función VBAOKUP VBA?

Categoría: