Deactivate
Ciao vpre, ed un saluto a Giuseppe.
la tua macro non funziona in quanto appena cambi foglio l'"ActiveSheet", non è quello di partenza ma prende immediatamente il nome di quello scelto.
quindi ci vuole un poco di escamotage per risolvere il problema.
ecco la macro che funziona.
Private Sub Worksheet_Deactivate()
Dim cella As Range
Dim sh
Application.ScreenUpdating = False
Application.EnableEvents = False
sh = ActiveSheet.Name
Sheets("FIORDALISO").Select
ActiveSheet.Unprotect "passwordprotezionesheets1"
For Each cell In Range("D7:I66")
If cell.Value = "" Then
cell.ClearContents
End If
Next
Range("d7:I66").Select
Selection.Sort Key1:=Range("D7"), Order1:=xlAscending
Range("a1").Select
ActiveSheet.Protect "passwordprotezionesheets1", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowSorting:=True, AllowFiltering:=True
Sheets(sh).Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
come vedi ho aggiunto delle righe ed una variabile.
la prima cosa che si fa è Bloccare Eventi e schermo, poi prendere il nome del Nuovo foglio con
poi si seleziona il foglio di partenza, il blocco dello schermo, serve per non vedere il saltellamento dello schermo, in quanto il primo passaggio si sposta sul foglio "riepilogo" o altro, ora riportando di nuovo il focus sul foglio di partenza "Fiordaliso".
avendo gli eventi bloccati con:
Application.EnableEvents = False
quando seleziono "Fiordaliso" con sheets("FIORDALISO").select, non parte Deactivate, a questo punto sono posizionato sul foglio per eseguire la macro di sprotezione ordinamento etc..
il blocco degli eventi serve perche alla fine della macro dopo aver riprotetto il foglio fiordaliso, dobbiamo passare al nuovo foglio, e questo farebbe ripartire di nuovo l'evento "Deactivate" se non fosse bloccato andrebbe in Loop, quando si è selezionato il nuovo foglio con
allora si possono sboccare sia gli eventi che lo schermo.
spero che la spiegazione sia stata chiara, bisogna vedere il flusso del codice è capire in ogni momento cosa succede o viene attivato.
allego anche il file.
Ciao By Sal