Guardar objetos de Excel como PDF

🔥 Guardar como PDF es una pregunta habitual que me han hecho.

👉 Pero nos vamos más allá, VAMOS A GUARDAR TODO como PDF.

💪 TODO! Archivos, Hojas, Selección de celdas, un Rango y Tablas en Excel.

🤯 Te enseño a hacerlo de manera manual y con Macros! Usando el método ExportAsFixedFormat

Ver video Guardar Archivo, hoja, selección, rango y tabla como PDF

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Cómo lo hacemos

Vamos a guardar todos los elementos de Excel como PDF, tanto de manera manual como usando macros.

Código VBA de la macro

Option Explicit
'Mi canal de YouTube | youtube.com/user/sergioacamposh
'Mi Sitio | exceleinfo.com
'Descarga mi add-in | addin.exceleinfo.com
'Obtén la Certificación Excel Expert | exceleinfo.com/certificacion-mos

Sub PDF_Archivo()
Dim Ruta As String
Dim NombreArchivo As String

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & " \ "
    .Title = "EXCELeINFO - Seleccionar carpeta"
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Ruta = .SelectedItems(1)
           
            NombreArchivo = ActiveWorkbook.Name
           
            ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Ruta & "\" & NombreArchivo & ".pdf", OpenAfterPublish:=False
        
    End If
End With

End Sub

Sub PDF_Hoja()
Dim Ruta As String
Dim NombreHoja As String

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & " \ "
    .Title = "EXCELeINFO - Seleccionar carpeta"
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Ruta = .SelectedItems(1)
           
            NombreHoja = ActiveSheet.Name
           
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Ruta & "\" & NombreHoja & ".pdf", OpenAfterPublish:=False
        
    End If
End With

End Sub

Sub PDF_Todas_Hojas()
Dim Ruta As String
Dim Hoja As Worksheet

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & " \ "
    .Title = "EXCELeINFO - Seleccionar carpeta"
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Ruta = .SelectedItems(1)
           
            For Each Hoja In ThisWorkbook.Sheets
                 
                 Hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                 Ruta & "\" & Hoja.Name & ".pdf", OpenAfterPublish:=False
            
            Next Hoja
        
    End If
End With

End Sub

Sub PDF_Rango()
Dim Ruta As String
Dim NombreRango As String
Dim MiRango As Range

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & " \ "
    .Title = "EXCELeINFO - Seleccionar carpeta"
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Ruta = .SelectedItems(1)
           
            NombreRango = "Rango"
            Set MiRango = Sheets("Rango").Range("A3:F12")
         
            MiRango.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Ruta & "\" & NombreRango & ".pdf", OpenAfterPublish:=False
        
    End If
End With

End Sub

Sub PDF_Selección()
Dim Ruta As String
Dim NombreSelección As String

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & " \ "
    .Title = "EXCELeINFO - Seleccionar carpeta"
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Ruta = .SelectedItems(1)
           
            NombreSelección = "Selección"
           
            Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Ruta & "\" & NombreSelección & ".pdf", OpenAfterPublish:=False
        
    End If
End With

End Sub

Sub PDF_Tabla()
Dim Ruta As String
Dim MiTabla As Object

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & " \ "
    .Title = "EXCELeINFO - Seleccionar carpeta"
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Ruta = .SelectedItems(1)
         
            Set MiTabla = ActiveWorkbook.Sheets("Tabla").ListObjects("Tabla1")
         
            MiTabla.Range.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Ruta & "\" & MiTabla.Name & ".pdf", OpenAfterPublish:=False
        
    End If
End With

End Sub

Descarga el archivo de ejemplo

Guardar como PDF Objetos del archivo – EXCELeINFO.zip

⭐ Si te gustó este tutorial, por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

You may also like...

1 Response

  1. JoaoM says:

    Buenos días. Sin tener alguna aplicación de terceros instalada y ocupándote memoria y espacio, ya Excel o Word te guarda en pdf una sola hoja o fracción.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: