Macro para copiar columnas a partir de un valor
Hola qué tal:
Navegando en internet encontré este fabuloso lugar en donde veo que hay muchos expertos en excel sobre todo en macros y por eso acudo a uds. Para pedir de su valiosa ayuda a un problema que no puedo encontrar la solución, debo aclararles que estoy empezando en este maravilloso mundo de las macros y ahorita me surgió una necesidad que pienso con una macro puede resolverse. Trataré de ser lo más explicito posible. Tal vez mi problema no se pueda resolver aplicando esta poderosa herramienta, pero casi estoy seguro que si se puede y con la ayuda de un experto como uds. Lo lograré
Tengo dos matrices en hojas distintas de un archivo de excel y las definiré así:
Lista 1 en hoja 1
Lista 2 en hoja 2
Pues bien, ambas matrices tienen la misma estructura que se compone de 3 columnas y el número de filas es variable ya que a veces pueden ser 2 o hasta 1000. Los encabezados son (repito ambas tienen la misma estructura):
A B C
Fecha concepto cantidad
Lo que necesito es que en base a la "lista 1" la macro busque en la "lista 2" cantidades iguales y cuando encuentre una cantidad iexactamente gual copie toda la linea de la hoja 2 a la hoja 1 y la pegue a un lado de la celda que tiene el valor buscado, por decir en la columna E. Por ejemplo vamos a suponer que en la celda C2 de la lista 1 hay una cantidad de 10 y en la lista 2 la primera linea que encuentre con esa cantidad la encuentre hasta la celda C10 entonces cuando encuentre esa cantidad copia el rango A10:C10 y lo pega en la hoja 1 a partir de la celda E2 (a un lado de la celda que sirvió de base para buscar y copiar en la lista 2), después supongamos que en la celda C3 de la hoja 1 hay una cantidad de 50 va a la hoja 2 la busca y la encuentra en la celda C2, hace el procedimiento de copiar y pegar a la hoja 1 ahora en la celda E3, ahora en la celda C4 de la lista 1 nuevamente vuelve a encontrar una cantidad de 10 (como en el primer caso) pero en la lista 2 ya no puede ocupar la cantidad que se encontraba en C10 puesto que ya la ocupó para el primer caso (en C2) así que sigue buscando y sopongamos que la encuentra hasta C15 hace el procedimiento de copiar y pegar y así sucesivamente hasta acabar con todas las líneas de la lista 1. Ahora supongamos que en la lista 2 no encuentra cantidad idéntica de la hoja 1, entonces solo anotaría en la celda de al lado "Valor no encontrado" .
Espero puedan entender mi problema y les agradeceré infinitamente su ayuda ya que actualmente este proceso de búsqueda y conciliación me lleva horas de trabajo, pero con una herramienta como las macros estoy seguro será cuestión de minutos. De antemano agradezco muchísimo su atención y quedo en espera de sus valiosas respuestas.
Navegando en internet encontré este fabuloso lugar en donde veo que hay muchos expertos en excel sobre todo en macros y por eso acudo a uds. Para pedir de su valiosa ayuda a un problema que no puedo encontrar la solución, debo aclararles que estoy empezando en este maravilloso mundo de las macros y ahorita me surgió una necesidad que pienso con una macro puede resolverse. Trataré de ser lo más explicito posible. Tal vez mi problema no se pueda resolver aplicando esta poderosa herramienta, pero casi estoy seguro que si se puede y con la ayuda de un experto como uds. Lo lograré
Tengo dos matrices en hojas distintas de un archivo de excel y las definiré así:
Lista 1 en hoja 1
Lista 2 en hoja 2
Pues bien, ambas matrices tienen la misma estructura que se compone de 3 columnas y el número de filas es variable ya que a veces pueden ser 2 o hasta 1000. Los encabezados son (repito ambas tienen la misma estructura):
A B C
Fecha concepto cantidad
Lo que necesito es que en base a la "lista 1" la macro busque en la "lista 2" cantidades iguales y cuando encuentre una cantidad iexactamente gual copie toda la linea de la hoja 2 a la hoja 1 y la pegue a un lado de la celda que tiene el valor buscado, por decir en la columna E. Por ejemplo vamos a suponer que en la celda C2 de la lista 1 hay una cantidad de 10 y en la lista 2 la primera linea que encuentre con esa cantidad la encuentre hasta la celda C10 entonces cuando encuentre esa cantidad copia el rango A10:C10 y lo pega en la hoja 1 a partir de la celda E2 (a un lado de la celda que sirvió de base para buscar y copiar en la lista 2), después supongamos que en la celda C3 de la hoja 1 hay una cantidad de 50 va a la hoja 2 la busca y la encuentra en la celda C2, hace el procedimiento de copiar y pegar a la hoja 1 ahora en la celda E3, ahora en la celda C4 de la lista 1 nuevamente vuelve a encontrar una cantidad de 10 (como en el primer caso) pero en la lista 2 ya no puede ocupar la cantidad que se encontraba en C10 puesto que ya la ocupó para el primer caso (en C2) así que sigue buscando y sopongamos que la encuentra hasta C15 hace el procedimiento de copiar y pegar y así sucesivamente hasta acabar con todas las líneas de la lista 1. Ahora supongamos que en la lista 2 no encuentra cantidad idéntica de la hoja 1, entonces solo anotaría en la celda de al lado "Valor no encontrado" .
Espero puedan entender mi problema y les agradeceré infinitamente su ayuda ya que actualmente este proceso de búsqueda y conciliación me lleva horas de trabajo, pero con una herramienta como las macros estoy seguro será cuestión de minutos. De antemano agradezco muchísimo su atención y quedo en espera de sus valiosas respuestas.
1 Respuesta
Respuesta de juanbauzam
1