Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

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

Ultimo Aggiornamento: 18/11/2016 20:49
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

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


[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

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


----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:24. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com