Buenos días gente, hoy les quiero compartir una solución para quienes tienen la tediosa tarea de buscar muchos datos en muchas pestañas… espero les sea útil.
Contexto:
Una amiga me pidió ayuda para automatizar una tarea de su trabajo, resulta que tiene un archivo master con mas de 1200 pestañas y en el cual debe saber si existen aproximadamente 5000 numeros de factura… :O que pereza solo pensar hacerlo con el típico comando de búsqueda de Excel! así que luego de darle muchas vueltas a la WEB y no encontrar una solución exacta asumí el reto de construir el código usando una macro basada en nuestra gran herramienta VisualBAsic (VBA).
Estructura:
Teniendo en cuenta que este problema es muy común en entornos de oficinas y procesos de manejo de bases de datos grandes en Excel usé la siguiente estructura:
Código:
Por favor comparte este artículo para descargar el código completo…
Demostración:
Hice una pequeña demostración del funcionamiento de la macro, en la columna facturas se puede agregar todas las facturas que quieran… la busqueda tarda según la cantidad de datos y las características del equipo donde lo ejecuten.
Notas:
- Diseñado para mostrar el primer valor encontrado, de haber varios resultados habría que agregar un condicional para que continúe la búsqueda a partir de la hoja donde se encontró el valor hasta el final de las hojas del archivo.
- El valor es buscado en todo el documento por lo que no excluye valores homologos de diferente grupo ( Ejemplo: la factura 37545235 puede ser encontrada en la columna de numero de cédula), si deseo buscar exclusivamente en alguna columna debe modificarse los atributos del método .Find Ver método…
- Se debe excluir la pestaña que contiene el buscador para evitar que el resultado sea la misma búsqueda, esto se hace en la parte If WS.Name Like “C*” Then del código de la macro, en este caso use Like “C*” ya que el nombre de todas las pestañas inicia por C excepto la del buscador.
Biografía:
http://www.excelavanzado.com/2011/06/estructuras-repetitivas-do-while-loop.html
https://msdn.microsoft.com/en-us/library/office/ff839746.aspx
Si les gustó mi aporte por favor darle me gusta a nuestra página excelente resto de día para todos.