¿Te gustaría saber cómo hacer una búsqueda VBA en Excel? ¿Quién no conoce el método FIND (Buscar) en Excel? Es seguro que muchas personas que usan hojas de cálculo de Excel usen el método BUSCAR o usan los atajos de tecla Ctrl + F para encontrar la palabra o el contenido que estén buscando.
Pero, ¿Sabías que existe otro medio de búsqueda para encontrar por rangos, celdas y columnas? Sí, cuando dice encontrar significa que esta opción está centrada en celdas y rangos. El método para hacer una búsqueda correcta es conocido como VBA en Excel.
De manera similar, en la función VBA Find, encontrarás una opción llamada función FIND que puede ayudarte a encontrar el valor que estés buscando. Ahora, para aprender todo esto, hemos preparado para ti un tutorial para aprender hacer una búsqueda VBA en Excel.
Aquí puedes leer sobre: Consejos Para Boom Beach – Estrategias De Ataque
Fórmula para encontrar la función VBA en Excel
Cuando estas trabajado en una hoja de Excel normalmente para hacer una búsqueda usas el atajo de tecla Ctrl + F para encontrar lo que estás buscando. Pero en con para hacer una búsqueda VBA en Excel, necesitarás escribir una función para encontrar el contenido que estés buscando. Bien, veamos entonces como es la sintaxis del método FIND (búsqueda).
Aunque te sientas que estás perdido al ver esta sintaxis y no entiendes nada. No debes preocuparte, porque te explicaremos a fondo de que trata la sintaxis, en este ejemplo del cuadro de búsqueda normal.
Si miras de cerca el atajo de teclas Ctrl + F normalmente es idéntica a la sintaxis de búsqueda VBA. Ahora veamos lo que significa cada palabra en la sintaxis.
- Qué:es básicamente lo que quieres buscar. Aquí debes mencionar el contenido que estés buscando.
- Después:después de qué celda quieres buscar.
- LookIn:dónde buscar lo que quieres conseguir.
- Por ejemplo: fórmulas, valores o comentarios. Los parámetros son xlFormulas, xlValues, xlComments.
- LookAt:si estás buscando todo el contenido o solo una parte del contenido. Los parámetros son xlWhole, xlPart.
- SearchOrder:¿Está buscando en filas o columnas? puedes usar xlByRows o xlByColumns.
- SearchDirection:¿Está desplazándote por la celda siguiente o la celda anterior? xlNext, xlPrevious.
- MatchCase:el contenido que estás buscando diferencia las mayúsculas y minúsculas con sentencias Verdaderas o falsas.
- MatchByte:esto es solo para los idiomas de doble byte. con sentencias de Verdadero o falso.
- SearchFormat:aquí se usa para buscar por formato. Si estás buscando formato, debes usar el método FindFormat.
Esta es la explicación de la sintaxis del método hacer una búsqueda VBA en Excel. Aparte del primer parámetro, todo es opcional. En la sección de ejemplos, te mostraremos cómo utilizar este método de búsqueda en la codificación VBA.
¿Cómo utilizar la función de búsqueda de Excel VBA?
Aprenderemos cómo usar una función de VBA Find Excel con algunos ejemplos.
Función para hacer una búsqueda VBA en Excel: ejemplo 1
Ahora, te explicaremos un ejemplo muy sencillo de hacer una búsqueda VBA en Excel usando la propiedad FIND para encontrar el contenido que estés buscando. Vamos a suponer que a continuación se encuentran los datos que tienes en tu hoja de Excel. Solo sigue estos pasos:
- Paso 1: A partir de aquí, debes encontrar el nombre John, abres un Visual Basic para comenzar la codificación con los siguientes parámetros:
- Código:
- Sub Find_Ex1 ()
- End Sub
- Paso 2: Aquí no puedes comenzar la palabra ENCONTRAR, porque ENCONTRAR es parte de la propiedad RANGO. Entonces, en primer lugar, debes mencionar dónde estás buscando, es decir, el Rango.
- Paso 3: Primero debes mencionar el rango donde estás buscando. En este ejemplo, el rango es de B2 a B11.
- Código:
- Sub Find_Ex1 ()
- Rango («B2: B11»)
- End Sub
- Paso 4:Después de mencionar el rango, coloca un punto (.) Y escribe FIND. Deberías ver la propiedad FIND (Buscar).
- Paso 5: Selecciona la propiedad ENCONTRAR y abre el corchete.
- Paso 6: el primer argumento es lo que estás buscando. Para resaltar el argumento puedes pasar el argumento de la siguiente manera Qué: =,esto sería útil para identificar a qué parámetro se está refiriendo.
- Código:
- Sub Find_Ex1 ()
- Rango («B2: B11»). Buscar (Qué: = «Juan»)
- End Sub
- Paso 7:La parte final es después de encontrar la palabra qué quieres hacer. Necesitarás seleccionar la palabra, así que pasa el argumento como. Seleccione.
- Código:
- Sub Find_Ex1 ()
- Rango («B2: B11»). Buscar (Qué: = «John»). Seleccionar
- End Sub
- Paso 8: luego ejecuta este código usando la tecla F5 o manualmente como se muestra en la figura, para que selecciones la primera palabra encontrada Johnson que contiene una palabra,
Función para hacer una búsqueda VBA en Excel: ejemplo 2
Ahora te mostraremos cómo encontrar la palabra de comentario usando el método de búsqueda. Aquí hay datos y en tres celdas hay un comentario. Las celdas que tienen bandera roja tienen comentarios. A partir de este comentario, buscaremos la palabra «Sin comisión».
- Paso 1:Comienza el código mencionando el rango («D2: D11») y pon un punto (.) Y escribe Buscar
- Código:
- Sub Find_Ex2 ()
- Rango («D2: D11»). Encuentra (
- End Sub
- Paso 2:En el argumento QUÉ, escribe la palabra «Sin comisión».
- Código:
- Sub Find_Ex2 ()
- Rango («D2: D11»). Buscar (Qué: = «Sin comisión»,
- End Sub
- Paso 3: ignora la parte Después y selecciona la parte LookIn. En LookIn, estarás buscando esta palabra en los comentarios, así que selecciona xlComments y luego pasa el argumento como .Select
- Código:
- Sub Find_Ex2 ()
- Rango («D2: D11»). Buscar (Qué: = «Sin comisión», LookIn: = xlComments) .Seleccionar
- End Sub
- Paso 4: Ahora ejecuta este código usando la tecla F5 o manualmente como se muestra en la figura para que selecciona la celda que tiene el comentario «Sin comisión». En la celda D9 tendrás un comentario mencionado.
Tratar con valores de error en Excel VBA Find
Si la palabra que estás buscando no se encuentra en el rango, con este código VBA te proporciona una búsqueda más exacta que devolverá un error como este.
Para mostrarte a ti que el valor que estás buscando no está disponible, Necesitarás el siguiente código.
Si el código anterior encontró un valor, entonces muestra el valor y la dirección de la celda o, de lo contrario, mostrará el mensaje «¡El valor que está buscando no está disponible en el rango proporcionado!».
Función Excel VBA Buscar
Cuando usamos Buscar en una hoja de trabajo normal, presionamos el atajo de teclado CTRL + F y escribimos los datos que necesitarás encontrar y si no el valor deseado, pasamos a la siguiente coincidencia, si hay muchas coincidencias de este tipo, es una tarea tediosa, pero cuando usamos la función FIND en VBA, hace las tareas por nosotros y nos da la coincidencia exacta y se necesitan tres argumentos, uno es que encontrar, dónde encontrar y dónde mirar.
Antes de pasar a VBA y comenzar a usar la función de búsqueda en macros, primero debes aprender qué es una función de búsqueda en Excel. En Excel normal, en la pestaña Inicio en el grupo de edición, puedes encontrar una función de búsqueda que se usa para encontrar una cadena o un valor en un rango de celdas o una hoja de trabajo completa.
Cuando hacemos clic en esto, obtenemos dos opciones;
Uno es simple de encontrar
Puedes ver que también tiene un modo de opciones que abre otra característica.
Realiza el algoritmo de búsqueda con cuatro restricciones, Buscar qué, Dentro, Buscar y Encontrar.
La segunda opción en Excel es Buscar y reemplazar que se usa cuando encontramos una cadena pero qué reemplazarla con cualquier otro valor,
Buscar sintaxis de funciones
Hemos aprendido más arriba lo que es hacer una búsqueda VBA en Excel. En VBA, puedes escribir códigos manualmente, pero las características son las mismas que las de Excel normal. Primero, veamos la sintaxis.
- Find (Qué, buscando,….)
Si el valor que estás buscando se encuentra con la función de Excel, devuelve la celda donde está el valor, y si no se encuentra el valor, entonces el objeto de la función se establece en nada.
Las expresiones en macros son rangos definidos, como rango 1 o rango 2. ¿Qué es una palabra clave para lo que quieres buscar para un valor específico? Lookin es una palabra clave para lo que estás tratando de buscar, ya sea un comentario, una fórmula o una cadena.
De manera similar, existen otras restricciones en la función Buscar, que son opcionales. El único campo obligatorio es el valor que estás intentando buscar.
Básicamente, VBA encuentra que Excel tiene un argumento requerido, que es Qué valor quieres buscar. El resto de las restricciones son opcionales y hay muchas prohibiciones en la función de búsqueda. La función de FIND es similar a la función de búsqueda en Excel.
Ejemplos para hacer una búsqueda VBA en Excel
El parámetro para la función de búsqueda es el rango de celdas, como en qué rango quieres encontrar un valor. Pueden ser unas pocas columnas o pocas celdas o una hoja de trabajo completa. Veamos estos ejemplos:
Ejemplo 1
Supón que tus datos tienen los siguientes valores
Aquí intentaremos encontrar “Aran” en los mismos datos.
- Paso 1: Para escribir un código VBA, es necesario tener habilitada la pestaña de desarrollador en Excel para poder escribir códigos VBA.
- Paso 2: Comienza escribiendo el código como se muestra a continuación:
- Sub Muestra ()
- Dim encuentra como secuencia
- Dim Rng Como Rango
- encuentra = InputBox ( “Introduzca el valor que desea buscar”)
- Con Sheets ( “Sheet1”) .Range ( “A: A”)
- Paso 3: La muestra es el nombre de la función que se le da al sub.
- Paso 4: Busca la cadena que quieres que busque el usuario que queremos que ingrese.
- Paso 5: Rng es la variable que tomaremos para el rango.
- Paso 6: Ahora le pedimos al usuario que ingrese el valor que se parece a la captura de pantalla a continuación:
- Paso 7: Ahora define la función de búsqueda en el módulo.
- Paso 8: La función encuentra el valor ingresado por el usuario en el rango dado.
- Paso 9: Ahora cierras la función con los siguientes argumentos.
- Paso 10: Ahora, si ejecutas el código primero, el usuario solicitará un valor.
- Paso 10: Una vez que se completa el código, devuelve la celda donde se encontraron los datos.
Ejemplo 2
En el ejemplo anterior, había cuatro nombres únicos, pero ¿qué pasaría si hubiera más de un nombre en los datos, como por ejemplo, considera los datos a continuación?
imagen
Puedes ver que el nombre Aran se repite dos veces en los datos anteriores. Si Excel tiene que encontrar el nombre Aran, lo encontrará en la celda A2 y se detendrá, pero hay otro valor similar al de A2 en la celda A6. ¿Cómo recuperar ese valor? Aquí viene la sintaxis de Find (What, After) en la ayuda.
Después de definir la celda, después de qué referencia, quieres buscar los datos. Escribe el código para los datos anteriores.
- Paso 1: Recuerda siempre habilitar la pestaña de desarrollador desde las opciones y luego desde la personalización de la cinta en Excel para poder escribir el código en VBA.
- Paso 2: En VBA, obtendrás objetos de Microsoft Excel, que es un módulo donde escribes los códigos.
- Paso 3: Anteriormente estabas trabajando en la hoja 1; ahora, estás trabajando en la hoja 2, así que selecciona la hoja 2 para otro módulo y aparecerá una página en blanco.
- Paso 4: Ahora comienza a escribir el código definiendo la función primero como SUB Sample2 () y presiona ENTER.
NOTA: Ahora habrás definido la función; comenzarás a entrar en la parte principal, que es la definición de nuestras variables.
- Paso 5: Define qué debe tener la variable Find,
- Paso 6: Selecciona las hojas en las que estás trabajando, que es la hoja 2 en este ejemplo:
- Paso 7: Ahora encontrarás el texto que ingresa el usuario después de la celda A2, por lo que debes definir tu función de búsqueda como se muestra a continuación:
- Paso 8: Ahora cierra el código terminando las condiciones with e if.
Lo que hace el código anterior es buscar la cadena después de la celda A2 y devolver la celda donde sea que se encuentre.
También te puede interesar: Cómo Mejorar Tú Experiencia En Excel – 13 Útiles Consejos
Como verás, estas son las formas de hacer una búsqueda VBA en Excel. Cada ejemplo te puede servir a futuro para que en cada práctica vayas perfeccionando el uso de esta función en tus proyectos de Excel. Esperamos haberte ayudado.
Me llamo Javier Chirinos y soy un apasionado de la tecnología. Desde que tengo uso de razón me aficioné a los ordenadores y los videojuegos y esa afición terminó en un trabajo.
Llevo más de 15 años publicando sobre tecnología y gadgets en Internet, especialmente en mundobytes.com
También soy experto en comunicación y marketing online y tengo conocimientos en desarrollo en WordPress.