¿Cómo copiar una hoja de un archivo excel (abierto por una macro) a una hoja de mi libro principal?

Hola, disculpa, necesito de su ayuda. Acá tengo el código de como copiar una hoja de un libro (que es abierto por una macro sin una ruta específica).
Sub Copiar()
Windows("Libro1.xlsx").Activate
Sheets("Hoja1").Select
Range("A1:AZ3000").Select
Selection.Copy
Windows("Backlog14Feb12.xlsm").Activate
Sheets("Backlog").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Supongo yo que el error está en esta fila : Windows("Libro1.xlsx").Activate
Ya que siempre me copiará el archivo que se llame Libro1. En cambio me gustaría que me copiara la hoja de cualquier archivo Excel,es decir, independiente del nombre del archivo.
PD: los Datos de estos archivos (según lo que estoy haciendo) tienen la misma pauta, pero sus nombres dependerán, no siempre se llamaran "Libro1".
Gracias, espero pueda ayudarme

1 respuesta

Respuesta
1

Antes de corregir la macro debemos saber, como se "llama" a la ejecución de la misma...

Si se ejecuta desde el mismo Libro1... bastaría con eliminar esa linea toda vez que no necesitar activar el libro en el que ya esta...

Si se llaman desde el otro libro por medio de la macro.. bien... primero debes "capturar" el nombre del archivo que abres (cuando lo abres)...

El "libro1" u otro libro ha sido abierto por un comando

Workbooks.Open Filename:="algunarchivo.xlsx" y allí tienes ya el argumento... posiblemente esta como una variables..

Workbooks.Open Filename:=nombrearchivo

Deberías reemplazar

Windows("Libro1.xlsx").Activate por Windows(nombrearchivo). Activate

Lo que me preocupa es si tu macro Copiar es exactamente tal como la escribes y entonces se ejecuta en otra instancia y no tiene acceso a esa variable a menos que se la transfieras... pero eso se hace fácil...

Cambias

Sub Copiar() por

Sub Copiar(nombredearchivo)

Y en la macro principal que seguramente la llama simplemente con

Copiar

La cambias por Copias nombrearchivo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas