Macro para recoger datos referenciados

Hola, desearía saber si puedes ayudarme, y te estaría sumamente agradecido, como no es menos.
Verás, tengo un libro (Productos.csv) que en su Hoja1, contiene nombres, precios de productos y sus referencias de proveedor (la referencias en la columna N) ordenados correctamente por filas según número de artículo, y tengo otro libro (Descripciones.xlsx) con sólo algunas referencias (columna A) de los productos que tengo en en la Hoja1 de Productos.csv, así como sus descripciones (en la columna B).
Necesito una macro, colocada en un fichero que se llame DescripcionMacro.xlsm (para poder añadirla a otras que ya tengo que se ejecutan en ese mismo fichero), y que compare cada referencia (A2...) de la Hoja1 de Descripciones.xlsx con las de la Hoja1 de Productos.csv (N2...) y cuando encuentre una igual, que copie la descripción que le corresponda de la columna B, en la celda de la referencia que le corresponde de la Hoja1 de Productos.csv, que sería en la columna V.
En pocas palabras: tengo dos ficheros, uno que contiene el listado de los productos y todo lo que he organizado con la macro que tengo en DescripcionMacro.xlsm (precios, tasas, stock...), y necesitaría que otra macro colocada en ese mismo fichero me recogiese del fichero Descripciones.xlsx las descripciones de los productos y me los colocara en su lugar (según la referencia que es el dato común) en el fichero de Productos.
Espero no haber sido demasiado largo y que puedas ayudarme. Te estaría muy agradecido. Si quieres, podría mandarte los ficheros para que puedas verlo con más facilidad, si es que ves que los necesitas, dímelo.
Me tienes en la espera. Gracias adelantadas por tu atención.

1 respuesta

Respuesta
1
Pues si, esta medio liado entender lo que necesitas, mi correo es [email protected] pero escribme con toda la descripción de lo que necesitas
Hola, ya te mandé los ficheros, con una explicación escrita y un gráfico para que puedas ver lo que necesito.
Gracias por todo.
Lo que necesitas más allá de una macro es una fórmula, pero en todo caso te paso la fórmula dentro de una macro para que sea más rápida el tiempo de respuesta
Sub Buscaypega()
'
Range("V2").Value = "=iferror(vlookup(N2,[Descripciones.xlsx]Hoja1!$A:$B,2,0),"""")"
Range("V2").Select
Selection.Copy
k = Range("A" & Cells.Rows.Count).End(xlUp).Row
Range("V2:V" & k).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Columns("V:V").Select
Range("V2").Activate
Selection.Copy
Application.CutCopyMode = False
Range("V1").Select
End Sub
Gracias Enrique. Voy a probarla y te cuento.
No tienes precio.
En cuanto la pruebe, ya te finalizo y te puntúo, no lo dudes.
Mil gracias
Ok, si tienes alguna duda adicional sobre la macro que te pase me avisas
Perdona que te vuelva a molestar, pero aunque funciona perfectamente desde 0, es decir abro los tres ficheros, el de la macro, el de productos y el de descripciones que tu me has mandado o los míos, y rula a las mil maravillas, una vez añado tu macro a la que ya tengo, no funciona y da un error 1004.
Y esto Enrique no me preocupa porque puedo hacerlo desde 0 con las dos macros independientes, primero hacer las modificaciones con la que tenia y después hacerlo añadiendo las descripciones, pero si pudieras ayudarme a saber cual es el error te lo agradecería, por tener todo en una macro y funcionando correctamente.
Gracias
Pues no sabría porque te genera el error ya que si funcionan por separado deberían funcionar juntas, pásame las dos macros para revisarlas y ver porque no pueden estar juntas
Gracias de nuevo, lo tuyo es de puntuarte al menos 2 veces. Te he mandado la MacroTotal.xlsm a la que debía añadirle la que tu me pasaste, para que la veas. Te mandé también en fichero de productos antes de ordenarlo la MacroTotal.
Sería aplicar esta MacroTotal al fichero de productos inicial XLS, que termina siendo un CSV, ya ordenado y con las descripciones... A ver si averiguas por qué no pueden ir unidas, aunque como ya te comenté, con lo que has hecho a mí me haces un gran favor.
Espero tus noticias al respecto.
Gracias de nuevo por tu altruismo e interés.
De lo que veo todo va bien yo lo corro y no me bota errores puede ser por el tema de office si tienes 2010 buscarv() cambia por consultav()
Prueba con el cambio y me avisas
Tengo el 2007. Voy a volver a probarlo a ver si es que estoy haciendo algo mal. Gracias.
Enrique, trabajo resuelto. Como ya te comenté, no hay gracias en el mundo para darte. Me has hecho un gran favor, y por mi parte no tengo más que la mejor puntuación para un experto de verdad en Excel.
Encantado de haber contado con tu ayuda.
Gracias de nuevo. Santiago.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas