Ciao Gimart,
Mah, che vuoi che ti dica. Forse funziona perchè sono poche colonne e non ci sono celle vuote.
Per il mio file di esempio, ho stampato tre pagine su un solo foglio A4. A meno che non si tratta di tanti fogli che un singolo foglio sarebbe illeggibile., non credo che il numero di fogli o la presenza di celle vuote abbia alcuna rilevanza. Per verificare
questo, non sarebbe sufficiente semplicemente aumentare la quantità di dati e aggiungere alcuni celle vuote al mio file?
Quando avrò un pò di tempo riprovo. Intanto, non è che mi invieresti via mail il testo completo e preciso della macro come file .doc?
La mia email è: *** L'indirizzo di posta elettronica viene rimosso per motivi di privacy ***.
Per quanto riguarda il codice, basterebbe scaricare il file per vederlo!
Tuttavia, il codice è:
'=========>>
Option Explicit
'--------->.
Public Sub SalvaInPDF_2()
Dim sPath As String, sStr As String
Dim varNomeFile As Variant
Const cPath As String = "**C:\Users\NDJ\Documents**" '<<==== Modifica
On Error GoTo ErrHandler
With Application
sStr = .PathSeparator
If Right(cPath, 1) = sStr Then
sPath = cPath
Else
sPath = cPath & sStr
End If
End With
varNomeFile = Application.InputBox(Prompt:="Scrivi il nome del file PDF", _
Title:="Nome dal file PDF da salvare", _
Type:=2)
If varNomeFile = False Or varNomeFile = 0 Then
Exit Sub
End If
With ActiveSheet
With .PageSetup
.PaperSize = xlPaperA4
.PrintGridlines = True
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
On Error GoTo ErrHandler:
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPath & varNomeFile, _
Quality:=xlQualityStandard, _
OpenAfterPublish:=False
End With
Exit Sub
ErrHandler:
Call MsgBox(Prompt:="Errore " _
& Err.Number _
& " (" _
& Err.Description _
& ") nella routine: SalvaInPDF_1", _
Buttons:=vbCritical, _
Title:="ERRORE")
End Sub
'<<=========
A proposito, non è una buona idea di pubblicare il tuo indirizzo e-mail su un sito pubblico! Questo è il motivo per cui l'indirizzo è stato soppresso.
===
Regards,
Norman