Macros para guardar PDF con nombre celda y ubicación específica

Lo que deseo es que el archivo xls se guarde en PDF en la misma ubicación donde está la plantilla xls, y que el nombre del archivo sea el concatenado de lo que contienen 3 celdas.

Sub Enviar_a_pdf()

Dim Ruta As String

Dim Archivo As String

Dim NombreArchivo As String

 

Ruta = ActiveWorkbook.Path & "\"

Archivo = Mid(ActiveWorkbook.Name, 1, (InStr(ActiveWorkbook.Name, ".") - 1))

 

NombreArchivo = Ruta & Archivo

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NombreArchivo, _

openafterpublish:=False

End Sub

2 Respuestas

Respuesta
2

H    o l a:

Te anexo el código actualizado

Sub Enviar_a_pdf()
'
    Ruta = ActiveWorkbook.Path & "\"
    nom = Mid(ActiveWorkbook.Name, 1, (InStr(ActiveWorkbook.Name, ".") - 1))
    nom = "RecibodeBodega " & nom
    Archivo = nom & Range("E8").Value & " " & Range("E10").Value & " " & Range("E11").Value
    NombreArchivo = Ruta & Archivo
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NombreArchivo, _
        openafterpublish:=False
End Sub

Si no quieres que aparezca el nombre del archivo y solamente el dato de las 3 celdas:

Sub Enviar_a_pdf()
'
    Ruta = ActiveWorkbook.Path & "\"
    'nom = Mid(ActiveWorkbook.Name, 1, (InStr(ActiveWorkbook.Name, ".") - 1))
    nom = "RecibodeBodega " '& nom
    Archivo = nom & Range("E8").Value & " " & Range("E10").Value & " " & Range("E11").Value
    NombreArchivo = Ruta & Archivo
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NombreArchivo, _
        openafterpublish:=False
End Sub

Si alguna de las 3 celdas es una fecha, por ejemplo, si la E8 es una fecha, entonces debe ser así:

Sub Enviar_a_pdf()
'
    Ruta = ActiveWorkbook.Path & "\"
    'nom = Mid(ActiveWorkbook.Name, 1, (InStr(ActiveWorkbook.Name, ".") - 1))
    nom = "RecibodeBodega " '& nom
    Archivo = nom & Format(Range("E8").Value, "dd_mm_yyyy") & " " & Range("E10").Value & " " & Range("E11").Value
    NombreArchivo = Ruta & Archivo
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NombreArchivo, _
        openafterpublish:=False
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

H o l a 

Te paso la macro

En esta línea cambias las celdas para el nombre

nomb = [A1] & "-" & [A2] & "-" & [A3]

la macro 

Sub Guardarpdf()
Application.ScreenUpdating = False
'
ruta = ThisWorkbook.Path & "\"
    nomb = [A1] & "-" & [A2] & "-" & [A3]
'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & nomb & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Application.ScreenUpdating = True
MsgBox "Se ha guardado la hoja en PDF", vbInformation
End Sub

valora la respuesta para finalizar saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas