Modo alternativo de Función BUSCARV con VBA | Excel 2016 #96
Вставка
- Опубліковано 5 лют 2025
- La función BUSCARV, una de mis favoritas… y me atrevo a asegurar que favorita de muchos… es una de las funciones que usamos con mucha frecuencia al momento de recuperar datos que necesitamos desde otras hojas de cálculo.
En este vídeo crearé un Modo alternativo de la Función BUSCARV con VBA.
Te invito a que veas el procedimiento, el cual nos da el mismo resultado que la función BUSCARV, sin necesidad de utilizar la función VLookup, que nos proporciona VBA.
Aquí pondremos en práctica, lo que hemos visto en la serie RECORRER FILAS Y COLUMNAS: • ¿Cómo Recorrer Filas y...
Descarga proyecto: goo.gl/N9gknv
Si el vídeo te gustó...
SUSCRÍBETE A MI CANAL ❤: bit.ly/ottojavi...
Sígueme en las Redes Sociales
Facebook: bit.ly/Facebook...
Twitter: bit.ly/twitter_OJG
Google Plus: bit.ly/GooglePl...
Instagram: bit.ly/Instagra...
Visita mi Blog: expandiendoexce...
Gracias otra vez salvando mi vida y trabajo.
Muy buena explicación Don Otto; sobre todo, la programación
de prevención de errores que... Usualmente no se incluyen por los
desarrolladores en VBA, caso contrario en los que INVARIABLEMENTE, se hacen forzosamente
NECESARIOS cuando se trata de la implementación de Complementos, basados en Librerías
DLLs… Con su apoyo los Usuarios podrán generar sus propias UDFs, con una GRAN
calidad de uso y ejecución. ¡Mi respeto y admiración Don Otto!
Gracias por tu apoyo y valoración Ernesto.
Saludos!
Don Otto que buena rutina implementaste para volver extensiva una búsqueda al puro estilo BuscarV.
Me gustó mucho las validaciones que desarrollaste para prevenir los posibles errores que puedan darse en la interfaz de usuario por parte del usuario final.
Esos errores aunque muy obvios, son fundamentales para una correcta ejecución del procedimiento.
Que buen material, que buen ejemplo, que bueno estos tutos Excel-ente mente ejecutados.
Saludos mi querido y buen amigo.
Att: Andrés.
Me alegraste el día con tu comentario mi estimado amigo.
Muchas gracias por tu valoración y apreciación.
Un abrazo!
No hay palabras no solo para el tiempo empleado que nos dedias paea enseñar, tambien nos dejas los coididos y ademas de entender mejor trabamos rapido. Me encataría que vivieras en pais, i para tomar clases y resolver mis miles de dudas, aunque con cada capitulo imagino como crear el proyecto. SI bien el gestor de inventario es brillante, = para el prg. contable..estas clases cortas podemos ir mezclandolas con el gestor o otros formularios. E tu ltimo CAPITULO Fue medio emrollado, este video, me simplica pero me fla un poco.. avisma si puedes darme clase syupe
UN beso ggggrssscciass
Excelente explicación y sobretodo excelente ayuda profesor Otto, me ha servido muchísimo para aprender y reducir tiempo en las tareas que realizó día a día en mi trabajo.
Muy agradecido por el tiempo y conocimiento que pone a nuestra disposición.
Saludos y bendiciones desde Nicaragua.
Idem!!!
Muchas gracias por tus impresiones.
Saludos y un fuerte abrazo!
Me sumo a los comentarios usted me produce una profunda admiración y respeto . Gracias por educar al prójimo. un fuerte abrazo desde Argentina!!
Como siempre don Otto muy claro y muy bien exlicado, felicitaciones
Gracias por tu comentario Carlos.
Saludos cordiales! :)
Me encanto, muy buena rutina, a revisarla con calma para implementar en alguna de mis aplicaciones.
Muchas Gracias Otto por sus esfuerzos y por lo claro en sus explicaciones. Saludos
Muchas gracias Katya por dejarme tus impresiones al respecto. Tu comentario me motiva muchísimo, ya que me da la señal que voy por buen camino xD
Saludos y un fuerte abrazo!
Muchas gracias por tu aporte me ayudo mucho
Excelente ayuda. Super detallado y muy útil.
Eres el mejor esta bien chido tu procedimiento gracias por compartir el conocimiento
Profesor Otto, super completa la explicación. Quiero preguntarle si es posible hacer esto mismo pero no desde diferentes hojas de un mismo libro, sino desde varios archivos a un solo archivo? Gracias
excelente tuto .. maestro Otto :) .. saludos desde Perú
Me alegra mucho que te haya gustado.
Un abrazo!
Muchas gracias Señor OTTO.
Gracias a ti Rosalía, por el apoyo.
Un abrazo!
Profe buenas noches, primero que todo muchas gracias por compartir su conocimiento Dios le siga bendiciendo por tan grande labor. Yo cambié datos para facilitar mi trabajo pero tengo una duda :
Mi pregunta es q si yo tengo en cada hoja un mismo producto pero con diferentes precios como haría para q al pulsar buscar me identifique enque hoja está y cuál es el proveedor q tiene el producto de menor precio.
excelente maestro.
Otto, Excelente , Cada Día Se Aprende Mas Contigo. Aunque Quisiera Compartirte Una Parte Del Trabajo Que Realizo En Excel. Yo Trabajo Con La Función Buscarv Seguido Pero Desearía Aprender a Programar el trabajo para que este se realice sin tener que llenar el libro de formulas. de ser posible quisiera enviarte una copia para que me puedas colaborar. saludos desde colombia
Dale... veamos de qué se trata... envíamelo
Saludos y gracias por tu apoyo!
Por Favor me regalas un correo yo te envió el archivo
ottogg@hotmial.com
excelentes tutos Otto.
uso vlookup pero esto me servira de mucho, muchas gracias por sus aportes.
sin embargo, quisiera si es posible me pueda pasar un tip sobre un userform que estoy desarrollando, sobre operaciones matrematicas, estoy detenido por algunas cosas!!
Explícame de que trata a detalle.
Saludos!
otto seria como aplicar un filtro tomando como referencia un textbox.
Otto de nuevo lo felicito por sus vídeos, pero tengo una pregunta si los datos a buscar están en otro libro como seria la macro
Estimado Otto. felicitaciones por el maravilloso código creado.
Yo estoy buscando en 5 libros que tienen 1 hoja con 65000 registros. Es decir todas las hojas estan llenas en el rango "A:D"
La columna "A" contien el código que busco y el cual puede estar repetido en varias filas, ya que se reutiliza por diferentes usuarios.
Lo que necesito es traer a la hoja Buscar todos los registros en los cuales se encuente el código buscado.
No me sirve BuscarV y VlookUp ya que traen solo el primer registro y no consideran los demas.
Hice una prueba con el código que tu creaste para pintar las celdas y resultó bien.
Si tuvieras una sugerencia te agradezco mucho.
Muchas gracias. Saludos desde Chile. 22-05-2018
sé que es muy tarde, pero utilizando filtros avanzados te traes todos los registros con el mismo código.
@@bot6731 Hola como sería lo de los filtros avanzados?
Buenas tardes Sr Otto, como siempre ud compartiendo sus conocimientos que son muy buenos para la comunidad.
Una consulta, esta macro de búsqueda funciona cuando la hoja de busqueda se encuentra en la primera hoja? es decir si la hoja de busqueda se encuentra en otra posicion por ejemplo en la ultima hoja del libro, tambien debería funcionar o hay que hacerle algunos cambios en el editor?
Saludos
Felicitaciones y gracias por compartir sus conocimientos, me ha gustado mucho su video, sólo que quisiera aplicar lo inverso de este caso: deseo hacer la búsqueda en la columna de una hoja y pegar los datos en diferentes hojas dónde están los valores a buscar, si es tan amable en ayudarme se lo agradecería mucho.
gracias.
Otto Excelente, ayuda me esta sirviendo mucho su enseñanza...pero una pregunta por favor me podria explicar como hacer para buscar en una sola hoja y que al pulsar el boton se pasen los datos de la hoja1 a la Hoja dos en base al registro de una columna de nombres....Por favor, estare muy agradecido por su ayuda
Hola Otto, excelente explicacion, necesito una ayuda. En el caso que las hojas siguientes tengan las columnas desordenadas o tenga mas o menos columnas, como podria hacer para que funcione correctamente, es decir que no dependa de la ubicacion (0,2) sino que lo encuentre por el nombre del encabezado de la columna. muchas gracias por la ayuda
Tengo dos listados de inventario de dispositivos, me solicitan que busque la coincidencia por su número de serie entre estos dos listados y marque la diferencia de lo que no ha encontrado, esta macro me serviría?
Muchas gracias.
Buen día, Don otto excelente explicación, quería preguntar, como seria el código de la macro sí, solo quiero buscar en una hoja determinada y no en todas las hojas que contiene el libro. ejemplo en lahoja buscar quiere traer los registros que se encuentran en la hoja base
Simplemente hay que suprimir el ciclo que recorre las hojas y hacer referencia de forma estática a una sola hoja y que haga el ciclo de las filas dentro de esa hoja.
Saludos!
@@excelymasoficial Sub BuscarEnVariasHojas()
Dim Celda As Range, Rango As Range
Dim CeldaAux As Range, RangoAux As Range
'Dim Hoja As Worksheet
Dim Tiempo1 As Long, Tiempo2 As Long
Tiempo1 = VBA.Timer
Application.ScreenUpdating = False
Application.StatusBar = "Búsqueda en progreso... Espere por favor!"
Hoja1.Activate
If Hoja1.Cells(2, 1) = Empty Then
MsgBox "No hay datos para buscar", vbCritical, "ERROR"
Exit Sub
End If
Set Rango = Hoja1.Range(Cells(2, 1), Cells(2, 1).End(xlDown))
With Sheets("data1").Activate
For Each Celda In Rango
If Celda.Offset(0, 1) Empty And Celda.Offset(0, 2) Empty And Celda.Offset(0, 3) Empty _
And Celda.Offset(0, 4) Empty And Celda.Offset(0, 5) Empty Then GoTo FinDeBusqueda
Set RangoAux = Range(Cells(2, 1), Cells(2, 1).End(xlDown))
For Each CeldaAux In RangoAux
If Celda = CeldaAux Then
Celda.Offset(0, 1) = CeldaAux.Offset(0, 1)
Celda.Offset(0, 2) = CeldaAux.Offset(0, 2)
Celda.Offset(0, 3) = CeldaAux.Offset(0, 3)
Celda.Offset(0, 4) = CeldaAux.Offset(0, 4)
GoTo FinDeBusqueda
End If
Next CeldaAux
FinDeBusqueda:
Next Celda
End With
Hoja1.Activate
Application.StatusBar = False
Application.ScreenUpdating = True
Tiempo2 = VBA.Timer
MsgBox "Tiempo transcurrido: " & Tiempo2 - Tiempo1 & " segundos"
End Sub
Profesor Otto, sobrado como siempre. Excelente explicación. Sin embargo, profesor, ¿qué tan posible es que pudiera comentar cada línea de código para mecanizar la instrucción que se ejecuta? No significa esto que sus explicaciones verbales sean confusas, por el contrario, son claras y precisas, es cuestión de memorizar qué hace cada línea de código, sobre todo, para personas que no somos expertos en VBA. Por lo demás, muchísimas gracias por compartir su conocimiento.
Mi estimado Antonio, los comentarios en cada línea, los puedes colocar en base a mis explicaciones en el vídeo... jejejejeje.... Si yo pusiera los comentarios textuales en el archivo, sentiría que estuviera redundando con mis explicaciones verbales, y ya no sería necesario realizar un vídeo sino solo colgar el archivo en un blog... jejejeje Espero entiendas mi punto de vista.
Saludos y un fuerte abrazo amigo mío!
Por supuesto que entiendo su punto de vista y le doy toda la razón. Realmente, no tuve el alcance que usted me plantea acerca de comentar yo mismo cada línea de código. Por favor, discúlpeme por esta sugerencia fuera de lugar. Muchas gracias por responder a mi comentario.
profesor muy bueno el video, pero tengo una consulta que condicion le puedo dar para que al momento de pegar los datos en la hoja buscar no sustituya celdas si esta contiene formula
El modelo de programación que he estructurado, no está diseñado para que manejes fórmulas en la hoja Buscar, ya que lo que hace el procedimiento, es buscar, y traer los datos encontrados, por lo que la hoja buscar tiene que estar limpia en los datos donde se van a escribir los datos.
Explícame de mejor manera... que no termino de comprender tu consulta.
Saludos!
Otto Javier González si le comento estoy trabajando con una balanza contable tengo formulas de suma en las cuentas generales, lo que pretendo es buscar en una base de datos el movimiento de las cuentas y que me los traiga a a la balanza y que esta me totalice los valores encontrados
ahhhh... eso ya es algo que habría que agregar...
Regálame un modelo en un archivo de Excel para tener una idea más clara.
Que si tengo tiempo, pues lo haré tuto xD
Muy bueno, pero......
He visto que si pones un numero que NO este en las paginas se queda colgado el programa , como se puede solucionar ???
Si ese mismo numero que NO existe lo colocas entre medio con otros que si están no se queda colgado el programa, siempre que no sea el primero de la lista
en el codigo plantea hoja1.activate, pero no esta definida hoja 1 como variable y ello me genera un error, em colaboa con ese problema o por que no me funciona
Hola, he intentado acomodar el codigo para k haga la busqueda en una sola hoja y no he podido tener el resultado esperado, como podria hacer lo mismo pero para que busque en una sola hoja?
prof.. otto pero tiene una falla la programación ... si solo pongo un solo codigo excel entra en conflicto buscando la respuesta.... alguna solucion porfavor
Ups... perdón.... Simplemente setéa el rango en la fila "A1" de la hoja1... Para que me entiendas mejor.
Esta línea: Set Rango = Hoja1.Range(Cells(2, 1), Cells(2, 1).End(xlDown))
modificala así: Set Rango = Hoja1.Range(Cells(1, 1), Cells(1, 1).End(xlDown))
Tiene que estar seteado en (1,1) y de esa forma no entre en blucle infinito si dejas un solo código.
No me explico el antojo de un solo código... si solo es uno, mejor yo escribo los datos... jejejejejeje Diojo yo. xD
bueno si quieres solo un codigo, pero este es uno de 100 que tienes que buscar...nop?
Profesor, ¿podría usted indicar su correo?. Muchas gracias.
me puedes contactar para que me ayudes con un problema. gracias
No me funcionó, tienes las celdas acomodadas para hacer el ejercicio, pero que pasa cuando quieres obtener los datos de una hoja a otra que tiene un formato diferente...es decir tienes en la hoja buscar el dato en celda de fila 17 columna 5, y la quieres obtener en diferente celda de diferente hoja, por los bucles Excel se vicio y tuve que forzar un apagado...
A ALGUIEN MAS LE PASA QUE NO EBTIENDE LOS CODIGOS????
QUE PUEDO LEER PARA EMPEZAR A ENTENDER EL LENGUAJE?'??