Copiar hojas de libro variable

Hola, mi problema es el siguiente. Tengo que copiar en un libro los datos de unas hojas que hay en otro libro cuyo nombre varía, aunque el nombre de las hojas es siempre el mismo. Espero que me puedas ayudar y muchas gracias por todo.

1 respuesta

Respuesta
1
La pregunta es demasiado general, deberías poder conseguir el nombre del libro en alguna variable y después hacer algo como
tuVariable = "Nombre de archivo.xls"
Workbooks(tuVariable). Sheets("Hoja1"). Range("A1"). Copy
...
Ante todo gracias por contestar.
La verdad es que tengo escasos conocimientos en esto.
Bueno yo he utilizado
Workbooks.Open Filename:=Rango("C35").Value
Asignando en la celda 35 la dirección donde se encuentra el fichero, concatenando diferentes celdas, en las que cada vez se pone la dirección.
Pero no me funciona.
A ver si así está más concreta la pregunta.
Gracias de nuevo
Saludos
Paco
Pero lo que estás comentando es para abrir un archivo especifico. Creí que querías hacer una copia (la verdad que ahora estoy más confundido que antes)
A ver si me puedo explicar mejor. En mi libro, tengo que importar unas hojas que están en un fichero que siempre tiene la misma estructura, pero este fichero puede estar en diferente ubicación, por lo que la variable es para indicarle a la macro la dirección concreta. Luego lo que pretendo es del libro nuevo que he abierto, copias unas hojas, cuya denominación es constante, y pasarla a mi libro original.
El problema lo tengo con que el fichero puede estar en distinta ubicación, sin que puedo saberlo de antemano.
Espero que me haya aclarado mejor. Bueno gracias por todo y disculpas por las molestias.
Saludos
Paco
Ok, si es así, la forma que lo estás haciendo está bien. Lo único que me parece es que haya algún problema de sintaxis lo que podes hacer es ver que es (solo para verificar que hay)
tuVariable = Rango("C35").Value
Workbooks.Open Filename:=tuVariable
Y antes del Open, fíjate que tiene "tuVariable" tal vez le falte el .xls, la barra invertida (\), o algo así
Hola Gustavo, gracias por tu respuesta. He probado como me dices y me da el error "Se ha producido el error 424 en tiempo de ejecución. Se requiere un objeto". ¿Se te ocurre a que se puede deber?
¿En qué línea?
Fíjate que valor tiene "tuVariable"
Si vas ejecutando paso a paso, luego de la línea tuVariable=Rango(...
Deberías ver que valor queda en la variable (¿podes hacerlo en la ventana inmediato tipeando? TuVariable)
HOla, gracias de nuevo por tu atención.
Te escrito todas las lineas que he hecho:
Sub ABRIRFICHEROLANIFICACION
Dim n1 As String
Dim n2 As String
n1 = InputBox("Indicar dirección", "Entrada")
Worksheets("PRIMERAHOJA").Range("A9").Value = n1
n2 = Range("A9").Value
Workbooks.Open Filename:=n2
Sheets.Add.Name = "planificación"
Sheets("BALANCE").Select
Application.Goto Reference:="R1C1:R68C12"
Selection.Copy
Sheets("planificación").Select
Application.Goto Reference:="R1C1"
ActiveSheet.Paste
Application.Goto Reference:="R170C1"
Sheets("GASTOS").Select
Application.Goto Reference:="R1C1:R1311C13"
Selection.Copy
Sheets("planificación").Select
ActiveSheet.Paste
Application.Goto Reference:="R2100C1"
Sheets("C.RESULTADO").Select
Application.Goto Reference:="R1C1:R59C14"
Application.CutCopyMode = False
Selection.Copy
Sheets("planificación").Select
ActiveSheet.Paste
Sheets("planificación").Select
Application.CutCopyMode = False
Sheets("planificación").Move
ChDir "D:\MATERIALIDAD"
ActiveWorkbook.Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=False
End Sub
Es en la línea de workbooks.open cuando me da problemas, ahora me sale otro tipo de error, el 1004 Error en el Método Unprotect de la clase worksheet.
Gracias de nuevo
Saludos
Paco
Pues ve "paso a paso", y antes que ejecute esa instrucción fíjate cual es el contenido de la variable n2. Casi seguro que no encuentra el archivo "exactamente" como figura.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas