Εμφάνιση ενός μόνο μηνύματος
  #5  
Παλιά 25-08-18, 08:14
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Ναι είναι ακριβώς αυτό που ζητάς, σε αντίθεση με τον κώδικα που πρότεινε ο Γιώργος
ο οποίος εκτυπώνει όλη την UsedRange, και όχι συγκεκριμένη περιοχή...
Κώδικας:
Sub SaveFileAsPDF()
    Dim SavePath As String, FolderName As String
    Dim UName As String, WhereToSave As String
    Dim PrintRange As Range, FileName As Range

    Set PrintRange = Sheet1.Range("myPrintRange")'Όνομα περιοχής που θα εκτυπωθεί
    Set FileName = Sheet1.Range("myInvNumber")'Όνομα περιοχής που περιέχει Αρ. Τιμολογίου
    
    UName = "Spirosgr"'Όνομα χρήστη
    WhereToSave = "Desktop"'Σημείο υπολογιστή που θα αποθηκευθεί
    FolderName = "INVBackUp"'Όνομα φακέλου αποθήκευσης
    
    SavePath = "C:\Users\" & UName & "\" & WhereToSave & "\" & FolderName
    
    PrintRange.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
                                   SavePath & "\" & FileName & ".pdf", Quality:= _
                                   xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                   OpenAfterPublish:=False
End Sub
Στον κώδικα αρκεί να αλλάξουμε τις παραμέτρους του παραδείγματος,
με αυτά που θέλουμε στο βιβλίο μας
*Όπου έχει πράσινη γραμματοσειρά

Set PrintRange = Sheet1.Range("myPrintRange") ονόμασε την περιοχή σε myPrintRange ή πληκτρολόγησε
Set PrintRange = Sheet1.Range("a1:g7")

Set FileName = Sheet1.Range("myInvNumber") ονόμασε ένα κελί σε myInvNumber ή όπως θέλεις και βάλε μέσα τον τίτλο pdf ή
άλλαξέ το με μεταβλητή τίτλου

UName = "Spirosgr" άλλαξε με το δικό σου όνομα χρήστη
WhereToSave = "Desktop" κράτησέ το ή άλλαξε με ότι θέλεις πχ Documents

FolderName = "INVBackUp" άλλαξέ το με όνομα φακέλου των pdf σου πχ MyPdf
*Στο σημείο που θα αποθηκεύσεις πχ Desktop, βάλε φάκελο με το όνομα αυτό

Τέλος το OpenAfterPublish:=False ή True εμφανίζει ή όχι το pdf, μετά την αποθήκευση...

Σημείωση
Το path αποθήκευσης, μπορεί να μετατραπεί στο ίδιο path με το αρχείο excel
Ο κώδικας αφορά το παράδειγμα του link και μόνο (post #2)
Απάντηση με παράθεση