Creación de un fichero excel desde el abierto

Hola.
  Necesito generar (al pulsar un botón de comando) un fichero de formato excel que contendrá unas determinadas celdas de otra de las hojas del libro activo.
  Además, el nombre del fichero generado debe ser el contenido de una celda determinada.
Gracias por tu atención.

1 Respuesta

Respuesta
1
Te paso el código, solo que crea un libro nuevo a partir de una hoja determinada y lo guarda con el nombre del contenido de la celda a5 de la hoja1 por ejemplo.
Sub guarda_hoja()
Ruta = "C:\"
nombre = Workbooks("Libro2").Sheets("Hoja1").Range("a5").Value & ".xls"
Sheets("hoja2").Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy
ActiveWorkbook.SaveAs Filename:=Ruta & nombre, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=False
End Sub
Espero que te halla sido de ayuda, cualquier consulta quedo a las ordenes
Saludos y no te olvides de finalizar y evaluar la respuesta.
He de probar aún la solución que me proporcionas. Supongo que funcionará perfectamente. Sin embargo, necesito una aclaración:
Todos los usuarios tienen un directorio diferente a los demás, generado automáticamente por el administrador del sistema. Por lo tanto, necesito que el libro creado tome la ruta que tenga en cada caso el libro que lo genera. ¿Es posible hacer esto de un modo transparente y automático, es decir, sin tener que pedir al usuario que lo facilite?
Gracias por tu atención.
Justamente puse en el código un string llamado RUTA para que en el referencies el directorio en cuestión. (Puedes trabajarlo de la misma forma que el nombre del archivo).
En el caso que quieras saber cual es el directorio actual puedes usar la función CurDir()
O sea ; puedes pasar el directorio de las siguientes maneras:
RUTA = workbook("Libro2").Sheets("Hoja1").Range("a4").value
y en a4 tengas c:\mis documentos\
RUTA = "c\mis documentos\"
RUTA = curdir() & "\"
Gracias. He probado esta mañana tu código y funciona perfectamente, aunque me resulta un poco confuso porque todavía no he leído cuál es el funcionamiento de .activate, .copy y .saveas.
He averiguado otra manera de hallar el directorio actual: ThisWorkbook.Path
Una vez más, gracias por tu ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas