Applicare questa macro a tutti i fogli selezionati nella cartella di lavoro

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
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..... [SM=x423023]

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

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 12:28.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com