FrancescoCacciola
00giovedì 17 novembre 2016 17:19
Buon giorno a tutti vorrei applicare questa macro a tutti i fogli che seleziono nella mia cartella di lavoro, quindi penso che devo utilizzare un ciclo for, ma come? :)
Grazie del aiuto, un saluto.
Sub InterruzionePagina()
'
' InterruzionePagina
'
' Scelta rapida da tastiera: CTRL+MAIUSC+S
'
' trova l'ultima riga del foglio Stampe
Range("H3000").Select
Selection.End(xlUp).Select
ultima11 = ActiveCell.Row
If ultima11 > 60 Then
ultima112 = Round(((ultima11 - 60) / 63), 2)
ultima113 = Round((ultima11 - 60) / 63)
ultima114 = ultima113 - ultima112 'Studio cosa ha fatto con l'arrotondamento
If ultima114 > 0 Then 'ARROTONDATO per ECCESSO
ultima1 = Round(((ultima11 - 60) / 63))
ultimaARR = ((ultima1 + 2) * 63) - 3 'Ometto numcifredecimali cosi da avere numeri interi
ElseIf ultima114 < 0 Then 'ARROTONDATO per DIFETTO
ultima1 = Round(((ultima11 - 60) / 63))
ultimaARR = ((ultima1 + 3) * 63) - 3 'Ometto numcifredecimali cosi da avere numeri interi
ElseIf ultima114 = 0 Then 'UGUALI
ultima1 = Round(((ultima11 - 60) / 63))
ultimaARR = ((ultima1 + 3) * 63) - 3 'Ometto numcifredecimali cosi da avere numeri interi
End If
ultima = ultimaARR
ElseIf ultima11 < 60 Then
ultima = ((2) * 63) - 3
ElseIf ultima11 = 60 Then
ultima = ((2) * 63) - 3
End If
' seleziono l'area
Range("C1:V" & ultima).Select
' stampo la selezione
ActiveSheet.PageSetup.PrintArea = "C1:V" & ultima
ActiveCell.Offset(ultima, 0).Range("A1").Select
End Sub
patel45
00giovedì 17 novembre 2016 17:41
Sub a()
For Each sh In ThisWorkbook.Windows(1).SelectedSheets
MsgBox sh.Name & " is selected"
' segue il codice
Next
End Sub
dodo47
00venerdì 18 novembre 2016 09:19
Ciao
e scusate, ma trattandosi di una stampa, non basta sfruttare l'evento Workbook_BeforePrint nel quale inserire le istruzioni?
saluti
FrancescoCacciola
00venerdì 18 novembre 2016 10:42
Dodo preferisco con macro.
Patel45 elabora per tutti i Fogli, ma modifica solo il primo perchè le istruzione della macro solo per il foglio selezionato.
Cosa dovrei cambiare per generalizzare la macro e fargli elaborare ogni sheet? :)
Grazie mille in anticipo
dodo47
00venerdì 18 novembre 2016 10:55
Re:
FrancescoCacciola, 18/11/2016 10.42:
Dodo preferisco con macro....
Perché l'evento before print (con all'interno le tue istruzioni) non è una macro che viene eseguita ogni volta che stampi?
Comunque, contento tu.....
saluti
FrancescoCacciola
00venerdì 18 novembre 2016 12:21
che modifiche devo apportare per far si che la macro funzione nel ciclo for per tutti i fogli???
patel45
00venerdì 18 novembre 2016 13:04
se alleghi un file di esempio possiamo testare la soluzione
Dodo preferisco con macro.
non è stata una risposta azzeccata
FrancescoCacciola
00venerdì 18 novembre 2016 17:13
iL FILE NON POSSO CONDIVIDERLO PER PROBLEMI DI DATI PERSONALI...CMQ LA MACRO DOVREBBE SPOSTARSI FINITO IL PRIMO FOGLIO AL SECONDO FOGLIO E POI IL TERZO CONSIDERANDOLO COME FOGLIO ATTIVO....pERò NON SO COME FARE....
gRAZIE MILLE ANCORA
dodo47
00venerdì 18 novembre 2016 19:23
Ciao
continuo a non capire il senso di quello che fai, comunque prova:
For Each sh In ActiveWorkbook.Worksheets
saluti
patel45
00venerdì 18 novembre 2016 20:49
Re:
FrancescoCacciola, 18/11/2016 17.13:
iL FILE NON POSSO CONDIVIDERLO PER PROBLEMI DI DATI PERSONALI...CMQ LA MACRO DOVREBBE SPOSTARSI FINITO IL PRIMO FOGLIO AL SECONDO FOGLIO E POI IL TERZO CONSIDERANDOLO COME FOGLIO ATTIVO....pERò NON SO COME FARE....
gRAZIE MILLE ANCORA
ho detto file di esempio e non l'originale