Macro para guardar hojas de un libro

Hola buenos días, tengo una plantilla para una compañía de carpintería, en la cual hago muebles modulares, esta plantilla tiene unas hojas que necesito guardar en un formato CSV para usar con un programa de Optimización, pero la plantilla tiene un nombre "Plantilla OP+LC MODULARES" pero cuando la guardo para un cliente le cambio el nombre pero como la macro la hice con el nombre genérico de "Plantilla OP+LC MODULARES" la macro funciona pero cuando cambia de nombre no funciona, entonces necesito que cuando guarde la hoja la macro tome el nombre nuevo para que me funcione y me deje salvar las hojas en formato CSV.

Saludos

1 respuesta

Respuesta
1

No adjuntas la macro, asi no se puede saber que líneas hay que cambiar. Lo mejor será si me mandas el fichero.

MI correo es

[email protected]

Pon como asunto el título de la pregunta y si puede ser que el fichero también tenga un nombre alusivo tal como

GuardarCSV.XLSM

Estoy confundido. Intentaba hacer funcionar la macro para ver por donde van los tiros, pero al ejecutarla me dice que la macro

Cambiar_de_optimizador_Optiplaning_a_MaxCut

No existe.

Claro, es que necesitaría todo el fichero que tienes con todas las macros y todo lo necesario para hacer pruebas y entender cuál es el problema y solucionarlo. De verdad que así no me hago idea de lo que falla y cómo quieres que funcione.

Puedes mandarme el libro completo. Si hay datos que no quieres que vea sustituilos por ficticios pero sin el libro no entiendo nada.

Disculpa esa macro cambiar_de_Optimizador_Optiplaning_a_MaxCut es una macro que se ejecuta primero para cambiar el orden de las columnas y el nombre de los encbezados de las mismas, porque en la carpintería los optimizadores son todos diferentes y reciben la información diferente, después de correr esta macro la información queda lista para ser usada por el optimizador MaxCut pero el problema es que el archivo que tiene todo cambio de nombre ya no es "Plantilla OP+LC Modulares", sino que puede ser cualquiera que yo le de, pero cuando trato de guardar las hojas no puedo porque la ruta y el archivo que esta en la macro ya no es esa.

Lo que yo quiero saber como pudiera hacer para que cuando yo grabe el archivo original con otro nombre la macro tome ese nombre y funcione la macro completa y guarde los archivos que yo quiero en formato CSV.

Saludos y muchas gracias por tu esfuerzo

Bueno espero haber interpretado bien lo que querías. Querías que al cambiar el nombre del libro funcionara igual y se pudiera ejecutar la macro

Cambiar_de_optimizador_Optiplaning_a_MaxCut

En Application. Run tenías la macro con el nombre del libro incluido. No es necesario poner el nombre del libro y así la macro puede ejecutarse aunque cambiemos el nombre del libro.

Luego me he permitido hacer unos cambios para acortar el código.

Sub Guardar_las_hojas_con_TAB_AMARILLO_en_formato_CSV()
 Dim HojasGuardar, Hoja
 HojasGuardar = Array("M", "P", "FG", "MV", "FM", "FMV")
 Application.Run "Cambiar_de_optimizador_Optiplaning_a_MaxCut"
 Application.DisplayAlerts = False
 For Each Hoja In HojasGuardar
   Sheets(Hoja).SaveAs Filename:= _
      "C:\Users\Angel Gonzalez\JWI\Plantillas Listas de Corte\CARPETA DE TRABAJO\" & Hoja & ".csv" _
     , FileFormat:=xlCSV, CreateBackup:=False
 Next Hoja
 ActiveWorkbook.SaveAs Filename:= _
 "C:\Users\Angel Gonzalez\JWI\Plantillas Listas de Corte\CARPETA DE TRABAJO\Plantilla OP+LC MODULARES.xlsm" _
 , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 Application.DisplayAlerts = True
 End Sub

El DisplayAlerts lo pongo a False para que no avise cuando tiene que sobreescribir. Si no se ponía así y le decías que no querías sobreescribir se generaba un error.

Mira a ver si la macro hace lo que quieres y si no dímelo. Y si ya está bien no olvides puntuar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas