Guardar libro de excel con macro pero con el nombre de alguna celda de dentro del archivo de excel

Ya hice una macro en excel que me guarda un archivo automáticamente, pero me lo guarda con el mismo nombre, sobrescribiendo el mismo archivo, lo que quiero es que el nombre se cambien en automático cuando cambien una celda dentro del libro,, como ejemplo esta que el libro guardado se llame como esta en la hoja 1 celda B3

2 respuestas

Respuesta
1

Lo mejor sería que me mandases el libro y así hago la modificación sobre lo mismo que tienes.

Mi correo es

ActiveWindow.ScrollRow = 1
Sheets("OCFESI").Select
Range("G37").Select
ChDir "C:\Users\FireEquiposSomp\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\FireEquiposSomp\Desktop\holas.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Columns("J:L").Select
Range("L1").Activate
Selection.EntireColumn.Hidden = True

Lo único que debes cambiar es el nombre del fichero, luego cambia esto

"C:\Users\FireEquiposSomp\Desktop\holas.pdf"

por esto otro

"C:\Users\FireEquiposSomp\Desktop & Sheets("Hoja1").Range("B3") & ".pdf"

·

En B3 pon solo el nombre sin punto ni extensión.

Y eso es todo.

¡Gracias! muchas gracias, por su aporte, me ayudo en gran manera

Perdón lo transcribí mal

"C:\Users\FireEquiposSomp\Desktop\" & Sheets("Hoja1").Range("B3") & ".pdf"

Respuesta
1

Tienes que agregar estas líneas, por ejemplo:

Sub Macro10()
'por.DAM
    ruta = ThisWorkbook.Path
    nombre = Sheets("Hoja1").Range("B3")
    ActiveWorkbook.SaveAs Filename:=ruta & "\" & nombre & ".xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Hola, al crear mi macro me crea esta líneas de comando

ActiveWindow.ScrollRow = 1
Sheets("OCFESI").Select
Range("G37").Select
ChDir "C:\Users\FireEquiposSomp\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\FireEquiposSomp\Desktop\holas.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Columns("J:L").Select
Range("L1").Activate
Selection.EntireColumn.Hidden = True

Me podrías ayudar en ver como podría poner lo que me comentas en este lugar o borro esto y pongo lo que me dices

¿

?

La macro quedaría así

Sub guardar()
    ActiveWindow.ScrollRow = 1
    Sheets("OCFESI").Select
    Range("G37").Select
    ruta = "C:\Users\FireEquiposSomp\Desktop"
    nombre = Sheets("Hoja1").Range("B3")
    ChDir ruta
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & "\" & nombre & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
    Columns("J:L").Select
    Range("L1").Activate
    Selection.EntireColumn.Hidden = True
End Sub
La pregunta no admite más respuestas

Más respuestas relacionadas