| | Post: 21 | Registrato il: 11/10/2016
| Città: GENOVA | Età: 36 | Utente Junior | Microsoft Office 2007 | | OFFLINE | |
|
17/11/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 |
|
| | Post: 3.462 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
17/11/2016 17:41 | |
Sub a()
For Each sh In ThisWorkbook.Windows(1).SelectedSheets
MsgBox sh.Name & " is selected"
' segue il codice
Next
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 969 | Registrato il: 06/04/2013
| Utente Senior | 2010 | | OFFLINE |
|
18/11/2016 09:19 | |
Ciao
e scusate, ma trattandosi di una stampa, non basta sfruttare l'evento Workbook_BeforePrint nel quale inserire le istruzioni?
saluti Domenico
Win 10 - Excel 2016 |
| | Post: 21 | Registrato il: 11/10/2016
| Città: GENOVA | Età: 36 | Utente Junior | Microsoft Office 2007 | | OFFLINE | |
|
18/11/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 |
| | Post: 970 | Registrato il: 06/04/2013
| Utente Senior | 2010 | | OFFLINE |
|
18/11/2016 10:55 | |
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
[Modificato da dodo47 18/11/2016 10:55] Domenico
Win 10 - Excel 2016 |
| | Post: 22 | Registrato il: 11/10/2016
| Città: GENOVA | Età: 36 | Utente Junior | Microsoft Office 2007 | | OFFLINE | |
|
18/11/2016 12:21 | |
che modifiche devo apportare per far si che la macro funzione nel ciclo for per tutti i fogli??? |
| | Post: 3.463 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
18/11/2016 13:04 | |
se alleghi un file di esempio possiamo testare la soluzione
Dodo preferisco con macro.
non è stata una risposta azzeccata
[Modificato da patel45 18/11/2016 13:06]
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 23 | Registrato il: 11/10/2016
| Città: GENOVA | Età: 36 | Utente Junior | Microsoft Office 2007 | | OFFLINE | |
|
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
|
| | Post: 978 | Registrato il: 06/04/2013
| Utente Senior | 2010 | | OFFLINE |
|
18/11/2016 19:23 | |
Ciao
continuo a non capire il senso di quello che fai, comunque prova:
For Each sh In ActiveWorkbook.Worksheets
saluti
[Modificato da dodo47 18/11/2016 19:24] Domenico
Win 10 - Excel 2016 |
| | Post: 3.465 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
18/11/2016 20:49 | |
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
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
|
|