Macro para guardar una hoja especifica de un libro, aparte y en formato .xlsm

Quiero por medio de una macro poder copiar una hoja llamada "cotización" (con botones y macros asignadas) y que automáticamente cree una copia en un libro nuevo y la pegue. Pero adicionalmente que me permita guardar ese nuevo documento con un nombre especifico, en una ubicación especifica y que lo guarde como libro de excel habilitado para macros.

Hasta el momento tengo lo siguiente:

Sub CopiaFormatosYValores()

Nombre = Range("af5").Value

ruta = "C:\Users\amaya.juan\Dropbox\Comercial - Sebastian Amaya\Cotizaciones"

Application.ScreenUpdating = False

ThisWorkbook.Worksheets("Cotización").Copy _

ActiveWorkbook.SaveAs ruta & Nombre

End Sub

Y hace todo lo que digo, menos guardarlo como libro habilitado para macros.

2 Respuestas

Respuesta
1

En el link tienes un ejemplo, si bien el mismo envía un mail con libros adjuntos, lo que hace primero es lo que necesitas, es decir guardar la hoja como xlsx, cambialo por xlsm y listo, la primer parte del ejemplo es lo que necesitas.

Visita http://programarexcel.com encontrarás cientos de ejemplos de macros gratis para descargar.

Respuesta
1

Una referencia correcta es: ruta\nombre.extensión

Por ej: D:\carpetas Datos\Downloads\LibroCopia.xlsm

Revisa el contenido de la celda AF5 y como se arma tu cadena en esta línea:

ActiveWorkbook.SaveAs ruta & Nombre

Quizás te falte la barra que separa nombre de ruta y la extensión.

Sdos y no olvides valorar la respuesta.

Elsa

Buenos días elsa y gracias por tu respuesta. Lamentablemente ese es uno de mis intentos fallidos. La información de la celda af5 es información concatenada que tiene la referencia de la cotización, el nombre del cliente y al final le puse .xlsm para ver si así lo guardaba pero al ejecutar la macro me sale el mensaje "este proyecto es en un trabajo con vb, debe guardarse como libro habilitado para macros". Y hasta ahí llego. Porque me toca decirle si, especificarle la ruta, el nombre y habilitarlo como libro para macros manualmente y no es la idea. De pronto la fórmula no esta bien o no se que le falte.

Probala así:

ActiveWorkbook.SaveAs ruta & "\" & Nombre, FileFormat:=xlOpenXMLWorkbookMacroEnabled

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas