Extraer rango variable de otro libro

Buenas:

Resulta que he intentado hacer una macro pero no hay caso...

Lo que deseo hacer es con el Application.GetOpenFilename que abra la ventana y luego escojo el archivo presiono aceptar y me copie un rango de celdas de A10:E48 , G10:AV48 del libro buscado en la ventana de Application.GetOpenFilename ..

Luego pegarlos en la hoja 1 de el libro que contenga el código en el rango de A10:E48 , G10:AV48 ...

Por favor si alguien me presta su ayuda...

Muchas gracias de antemano

1 respuesta

Respuesta
1

Esta es la macro

Sub copiar()
'Por.Dam
Set h1 = ThisWorkbook.Sheets("Hoja1")
archivo = Application.GetOpenFilename
If archivo = False Then Exit Sub
Workbooks.Open archivo
Set l2 = ActiveWorkbook
Set h2 = l2.ActiveSheet
H2. Range("A10:E48"). Copy h1. Range("A10")
H2. Range("G10:AV48"). Copy h1. Range("G10")
L2. Close
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

Hola Dam...

Gracias por responder!!

Algunas cosas que no mencione..

Como hacer para que vaya copiando hacia abajo en la hoja1 donde tengo el código..

Si el libro que abro con la ventana para buscar esta con vínculos y aparece esos mensajes de actualizar , no actualizar ¿como los saco? con el Application.DisplayAlerts = False no me funciona...

Lo ultimo como mostrar en un inputbox los nombres de las paginas del libro buscado para luego elegir y sacar lo datos de esa pagina elegida...

Ej

Se abre la ventana de búsqueda escojo el archivo presiono abrir ahi me tiene que aparecer el inputbox con las paginas supongamos que tiene 3 hojas que de la opción en el inputbox de escoger una luego aceptar y que de esa hoja copie los datos con los rangos y los copie....

Por favor

Gracias de antemano

Una pregunta a la vez.

Para que vaya copiando hacia abajo, sería con esta macro.

Revisa si con screenupdating ya no te aparecen los mensajes

Sub copiar()
'Por.Dam
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set h1 = ThisWorkbook.Sheets("Hoja1")
u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
If u < 10 Then u = 10
archivo = Application.GetOpenFilename
If archivo = False Then Exit Sub
Workbooks.Open archivo
Set l2 = ActiveWorkbook
Set h2 = l2.ActiveSheet
H2. Range("A10:E48"). Copy h1.Range("A" & u)
H2. Range("G10:AV48"). Copy h1.Range("G" & u)
L2. Close
End Sub

Buenísima Dam!!

El Application.ScreenUpdating = False no funciona eso es para que no aparezca el libro que abro.... Muchísimas gracias por tu ayuda quedo perfect ... solo me falta lo del inputbox para elegir la hoja.... Abriré otro tema con eso si es que me ayudan con eso busque un código pero no se como incorporarlo al código ....

Gracias

Tema solucionado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas