Macro para búsqueda en dos matrices
Hola experto:
En el sitio veo que tu has resuelto varios problemas que tienen relación con macros, yo soy muy novato en esto de las macros y no he podido adaptar una a mis necesidades, sin embargo, me encanta todo lo que tenga que ver con excel ya que lo aplico muchísimo en mi trabajo, por lo que recurro a ti solicitando tu valiosísima ayuda con este problema:
Tengo dos hojas con dos matrices que tienen la misma estructura algo así:
A B C
Fecha Descripción Cantidad
Las filas son variables ya que va desde 2 hasta 10000, bueno pues lo que necesito es que me busque cada una de las cantidades de la hoja 1 en la hoja 2 y cuando la encuentre en la hoja 2 copie la linea (las tres columnas) a la hoja 1 y lo pegue a un lado de la celda que contiene el valor buscado y en la hoja 2 corte o borre esa cantidad para que ya no la utilice en la búsqueda de la siguiente fila a buscar otra vez, ya que las cantidades pueden repetirse en filas más abajo y haga este proceso hasta acabar con todas las filas de la hoja 1.
Te lo describo con un ejemplo para que me entiendas mejor. Supongamos que son 10 líneas en la hoja 1 y 15 lineas en la hoja 1, bueno pues comenzaría a buscar la cantidad de C2 de la hoja 1 y cuando encuentre la primera cantidad exactamente igual en la hoja 2 corta lo que hay en esa línea y lo pega en la hoja 1 a partir de la celda D2, en la hoja 2 borra toda la línea que quedó en blanco de modo que ahora ya solo quedan 14 líneas, después regresa a la celda C3 de la hoja 1 y hace el mismo procedimiento: busca, corta, pega y borra. Y así sucesivamente hasta acabar en la celda C11 de la hoja 1. Pero si no encuentra una cantidad igual entonces que solo ponga en la celda de la hoja 1 (a donde va pegando los datos de la hoja 2) "Valor no encontrado". Con esto al final del proceso ya sé que las cantidades que no haya encontrado tendrán esa leyenda y por lo tanto no existen en la hoja 2, y en la hoja 2 las lineas que me hayan quedado (si es que quedó alguna(s)) no están dentro de la hoja 1.
Tal ves sea mucho mi pretención el querer hacer esto con una macro, pero he visto códigos o rutinas que hacen cosas maravillosas, por lo que casi estoy seguro que si se puede, y gente experta como tu lo puede lograr y creéme que con esto me convertiría horas de trabajo a minutos. De antemano agradezco muchísimo tu atención y quedo en espera de tu valiosa respuesta.
En el sitio veo que tu has resuelto varios problemas que tienen relación con macros, yo soy muy novato en esto de las macros y no he podido adaptar una a mis necesidades, sin embargo, me encanta todo lo que tenga que ver con excel ya que lo aplico muchísimo en mi trabajo, por lo que recurro a ti solicitando tu valiosísima ayuda con este problema:
Tengo dos hojas con dos matrices que tienen la misma estructura algo así:
A B C
Fecha Descripción Cantidad
Las filas son variables ya que va desde 2 hasta 10000, bueno pues lo que necesito es que me busque cada una de las cantidades de la hoja 1 en la hoja 2 y cuando la encuentre en la hoja 2 copie la linea (las tres columnas) a la hoja 1 y lo pegue a un lado de la celda que contiene el valor buscado y en la hoja 2 corte o borre esa cantidad para que ya no la utilice en la búsqueda de la siguiente fila a buscar otra vez, ya que las cantidades pueden repetirse en filas más abajo y haga este proceso hasta acabar con todas las filas de la hoja 1.
Te lo describo con un ejemplo para que me entiendas mejor. Supongamos que son 10 líneas en la hoja 1 y 15 lineas en la hoja 1, bueno pues comenzaría a buscar la cantidad de C2 de la hoja 1 y cuando encuentre la primera cantidad exactamente igual en la hoja 2 corta lo que hay en esa línea y lo pega en la hoja 1 a partir de la celda D2, en la hoja 2 borra toda la línea que quedó en blanco de modo que ahora ya solo quedan 14 líneas, después regresa a la celda C3 de la hoja 1 y hace el mismo procedimiento: busca, corta, pega y borra. Y así sucesivamente hasta acabar en la celda C11 de la hoja 1. Pero si no encuentra una cantidad igual entonces que solo ponga en la celda de la hoja 1 (a donde va pegando los datos de la hoja 2) "Valor no encontrado". Con esto al final del proceso ya sé que las cantidades que no haya encontrado tendrán esa leyenda y por lo tanto no existen en la hoja 2, y en la hoja 2 las lineas que me hayan quedado (si es que quedó alguna(s)) no están dentro de la hoja 1.
Tal ves sea mucho mi pretención el querer hacer esto con una macro, pero he visto códigos o rutinas que hacen cosas maravillosas, por lo que casi estoy seguro que si se puede, y gente experta como tu lo puede lograr y creéme que con esto me convertiría horas de trabajo a minutos. De antemano agradezco muchísimo tu atención y quedo en espera de tu valiosa respuesta.
Respuesta de kgb_elantro
1