Saltar al contenido

Copiar fila de una hoja a otra cuando la celda inicial coincide


Recommended Posts

publicado

Hola,

a ver si alguien me puede ayudar, que llevo varios días intentando resolver un problema y no he sido capaz, y por más que he buscado en el foro no he conseguido hacerlo.

Tengo dos libros de excel, en el primero (llamado 'datos') tengo una serie de datos con una macro que cada vez que la ejecuto me rellena en la Hoja1 de ese mismo libro 'datos' una serie de valores en la fila 2, de estos valores el de la celda A2 es la referencia.

Ahora he creado otro libro (llamado 'almacen') en el que en la columna A tengo todos los números de referencia, y necesito realizar una macro que me copie los datos de la fila 2 de la hoja 'datos' cuando los valores de la columna A de las dos hojas coincidan.

Adjunto archivo de ejemplo (en vez de subir dos archivos he añadido una hoja con los datos del libro 'almacen).

Gracias por adelantado y un saludo!

datos.xls

publicado

Buenas, Anacletoagente(secreto)......jejeje

Algunas dudas me han surgido al ver tu archivo......

1.- Se deben copiar todos los datos de la fila 2 de Hoja1 a Almacén?.....la información siempre ocupa lo mismo (columnas) ó puede variar?

2.- Cómo necesitarías que se ejecutara la macro, a través de un botón o algo similar en Hoja 1, ó en Almacén?

La estructura del código se presenta bastante sencilla, pero creo necesarias esas aclaraciones para que se ajuste bien a lo que necesitas....

Un saludo,

Tese

publicado

Hola, lo primero muchas gracias por tu respuesta.

Si, la información de la fila 2 siempre ocupa el mismo número de columnas.

En principio esta macro iría dentro de otra en la pestaña de datos, que al ponerle el número de referencia da los valores de la fila 2 de hoja 1 (no he subido la hoja completa con el macro porque pesa mucho, pero lo copio a continuación para que veas lo que hace, además en la hoja había otra pestaña con todos los datos iniciales llamada "base_datos").

Sub Macro1()

'

' Macro1 Macro

'

' Acceso directo: CTRL+a

'

valor = InputBox("Referencia")

Application.ScreenUpdating = False

Sheets("base_datos").Select

Cells.Select

Selection.ClearContents

Range("A1").Select

Workbooks.Open ThisWorkbook.Path & "\DBF_VIA1\P" & valor & ".DBF"

Windows("P" & valor & ".DBF").Activate

Cells.Select

Selection.Copy

Windows("datos.xlsm").Activate

Range("A1").Select

ActiveSheet.Paste

Sheets("Resumen").Select

Range("B24").Select

ThisWorkbook.RefreshAll

Application.CutCopyMode = False

ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

Windows("P" & valor & ".DBF").Activate

ActiveWindow.Close

Windows("datos.xlsm").Activate

Sheets("calcula").Select

Application.ScreenUpdating = True

End Sub

Un saludo!

publicado

Buenas de nuevo,

He incluido código en un módulo para que haga lo que necesitas, es decir, pasar los datos de la fila 2 a la línea donde está la referencia buscada en la hoja "almacen".....

Si quieres que esté incluido el código en tu otra macro, tendrás que ir probando donde incluirlo y quizás modificar alguno de los datos de Hojas, etc....pues yo obviamente no puedo comprobar cómo funciona dentro de la macro que comentas al no tener archivos, etc....Mira a ver si entiendes la estructura y entonces lo tienes sencillo, creo yo.....jejejeje

Prueba y comentas....

Un saludo,

Tese

datos_Tesev1.rar

publicado

Me funciona a la perfección!

he tenido que modificar alguna cosa para meterlo junto con la otra macro y cambiar el tipo de pegado para que sólo pegara valores, y ha quedado perfecto.

Muchísimas gracias!

publicado

Me alegro mucho de haberte podido ayudar.

Como eres nuevo por aquí, te diré que para que los administradores puedan cerrar el tema, debes escribir algo así como "Tema Solucionado".

Y si eres de Madrid, mira a ver si tú o algún contacto tuyo pudiera tener un huequecillo laboral para mí, que desde hace unos meses estoy desempleado......por si cuela........jejejeje

Un saludo,

Tese

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.