gionox
00lunedì 13 febbraio 2017 15:34
Ciao ragazzi, come posso fare per far sì che una certa macro che viene eseguita all'apertura del file, venga eseguita su tutti i fogli tranne uno specifico?
Ho questo codice in Questa_Cartella:
Private Sub Workbook_Open()
If Month(ThisWorkbook.Sheets("Foglio1").Range("A1")) <> Month(Now) Then
Call Macro2
End If
End Sub
Grazie
patel45
00lunedì 13 febbraio 2017 16:55
Re:
Private Sub Workbook_Open()
for each sh in sheets
if sh.name <> "foglio da escludere" then
If Month(Sh.Range("A1")) <> Month(Now) Then
Call Macro2
End If
end if
next
End Sub
gionox
00lunedì 13 febbraio 2017 17:36
Ciao, ho inserito il tuo codice, però all'apertura del file, mi dice : Tipo non corrispondente e mi da errore sulla riga: If Month etc...
Grazie per l'aiuto
alfrimpa
00lunedì 13 febbraio 2017 17:58
Prova a scrivere
If CDate(Month.....
gionox
00lunedì 13 febbraio 2017 20:31
purtroppo neanche così funziona..
Adesso la macro si attiva solo sul foglio in cui l'ho registrata.
Vi allego il file, Grazie per l'aiuto
https://www.dropbox.com/s/9r59he2gb62ovv2/FINALE.xlsm?dl=0
patel45
00lunedì 13 febbraio 2017 20:36
hai fatto delle modifiche al codice che ti ho suggerito, perché non lo copi aggiungendo soltanto la call ?
gionox
00lunedì 13 febbraio 2017 20:38
Sisi, potrai notare che ho inserito il tuo suggerimento
gionox
00martedì 14 febbraio 2017 17:59
Patel45 nel file che ho linkato, la tua soluzione non è inserita in quanto ho problemi nella riga If Month...l'errore è Tipo non corrispondente (anche applicando il suggerimento di Fratimpa)
Come posso risolvere secondo voi?
gionox
00martedì 14 febbraio 2017 21:01
Vi allego il file ultimato, rimane solo da far partire la macro su tutti i fogli (tranne "IMPIANTI") e non solo su quello in cui l'ho registrata
Grazie
https://www.dropbox.com/s/19fqsz92r1okbfp/FINAE.xlsm?dl=0
gionox
00martedì 14 febbraio 2017 23:31
Ragazzi, finalmente ci sono riuscitoooo!
Praticamente, mi ostinavo a inserire il For in Questa_Cartella di lavoro, invece, lo dovevo inserire nella Macro!
Adesso funziona.
L'unica cosa, come posso fare far si che alla fine, si ritorni al primo foglio e non che resti all'ultimo?
In Questa_Cartella ho inserito : Worksheets.("IMPIANTI").Select, però non funziona
Thestoat
00martedì 14 febbraio 2017 23:53
Ciao prova con: Sheets("IMPIANTI").Select