Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
ciao Mauro ecco:
pagina 1 da riga 1 a 60
pagina 2 da riga 61 a 120
pagina 3 da riga 121 a 180
Grazie mille e buono SMAU!
Andrea
Proviamo. Foglio1, tre pagine da stampare con i riferimenti che hai messo tu. Quindi la pagina sarà da stampare solo se, rispettivamente, avrà le celle A1, A61, A121 con un valore. Prova questo codice:
Public Sub m()
Dim lTot As Long
Dim lCont As Long
Dim lng As Long
Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Foglio1")
lTot = 0
lCont = 0
With sh
For lng = 1 To 180 Step 60
If .Cells(lng, 1).Value <> "" Then
lTot = lTot + 1
End If
Next
For lng = 1 To 180 Step 60
If .Cells(lng, 1).Value <> "" Then
lCont = lCont + 1
.Cells(lng + 59, 1).Value = _
"Pagina: " & lCont & " di Pagine: " & lTot
.PageSetup.PrintArea = "A" & lng & ": D" & lng + 59
.PrintOut
.PageSetup.PrintArea = ""
End If
Next
.Range("A60,A120, A180").Value = ""
End With
Set sh = Nothing
End Sub
NOTA. In questo esempio la scritta pagina n di pagine nn si troverà rispettivamente in A60, A120, A180 e verrà cancellata una volta stampata la pagina. Fai sapere se è quello che volevi, grazie.
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)