Tutorial Salva area del foglio in PDF

Stato
Chiusa ad ulteriori risposte.

ges

Excel/VBA Expert
Amministratore
Expert
21 Giugno 2015
18.842
113
Como
2011MAC 2016WIN
353
Ammettiamo di voler salvare in PDF un'area del foglio di lavoro, per esempio A1:C5



Dichiaro la variabile e gli assegno l'intervallo
Visual Basic:
Dim miaArea As Range
Set miaArea = Sheets("Foglio1").Range("A1:C5")
Scelgo il nome del file che dovrà avere il PDF

Visual Basic:
 nomefile = "Il mio file PDF"

Scelgo il percorso dove salvarlo
Visual Basic:
"C:\Users\ges\Desktop\"

Volendo posso usare Environ("USERPROFILE")
Visual Basic:
percorso = Environ("USERPROFILE") & "\Desktop\"

Questa è la riga che salva in PDF
Visual Basic:
miaArea.ExportAsFixedFormat Type:=xlTypePDF, Filename:=percorso & nomefile

Metto un messaggio di avviso
Visual Basic:
MsgBox "Copia PDF salvata con successo!", vbInformation, "Avviso di notifica"

Questo il codice completo
Visual Basic:
Sub Salva_PDF()

    Dim miaArea As Range
    Dim percorso As String
    Dim nomefile As String
   
    Set miaArea = Sheets("Foglio1").Range("A1:C5")
 
    nomefile = "Il mio file PDF"
    percorso = Environ("USERPROFILE") & "\Desktop\"
       
    miaArea.ExportAsFixedFormat Type:=xlTypePDF, Filename:=percorso & nomefile
       
    MsgBox "Copia PDF salvata con successo!", vbInformation, "Avviso di notifica"
       
    Set miaArea = Nothing
   
End Sub

Se si vuole salvare l'intero foglio basta scrivere così
Visual Basic:
Sub Salva_PDF()

    Dim percorso As String
    Dim nomefile As String
   
    nomefile = "Il mio file PDF"
    percorso = Environ("USERPROFILE") & "\Desktop\"
       
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=percorso & nomefile
       
    MsgBox "Copia PDF salvata con successo!", vbInformation, "Avviso di notifica"
   
End Sub

Se si vogliono salvare più fogli in PDF basta selezionare i fogli interessati con un Array
Visual Basic:
 Sheets(Array("Foglio1", "Foglio2")).Select

E il codice completo diventa così
Visual Basic:
Sub Salva_piu_fogli_PDF()

    Dim percorso As String
    Dim nomefile As String
   
    nomefile = "Il mio file PDF"
    percorso = Environ("USERPROFILE") & "\Desktop\"
   
    Sheets(Array("Foglio1", "Foglio2")).Select

    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=percorso & nomefile
       
    MsgBox "Copia PDF salvata con successo!", vbInformation, "Avviso di notifica"
   
End Sub
 
Stato
Chiusa ad ulteriori risposte.

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!