Faccio riferimento a Application.OnTime tempo, "Nome Macro" scoperto tempo fa un altro forum dove dicevano pure che è di solito poco utilizzato.
Io l'ho provato e trovato fantastico perchè permette, contrariamente al classico concetto che quando una macro è in funzione esegue delle istruzioni in sequenza, di eseguire altre operazioni. Tant'è che addirittura si può rilanciare la stessa macro che se prima andava in esecuzione ogni ora poi partirà in modo alternativo/multiplo. (Puoi cambiare anche account in Windows e questa continua a girare..)
E il problema sta proprio qui. L'unico modo o penso sia l'unico per fermare l'esecuzione è quella (oltre di premere ESC ma solo quando è in esecuzione in codice con qualche operazione) è quello di fare eseguire il comando
Application.OnTime tempo, "Nome Macro", , False
Se ad esempio si lancia 2 volte una macro con all'interno il codice Application.OnTime tempo, "Nome Macro" dovremmo lanciare 2 volte la macro contenente il comando Application.OnTime tempo, "Nome Macro", , False per fermarle entrambe.
A questo punto, secondo voi e come, è possibile creare una finestra/pulsante (penso tipo USEFORM .. dovrò studiarmela un po') o più finestre che visualizzino tutte le Macro in esecuzione con Application.OnTime ? e così interromperle.!
Chiedo questo perchè dovente creare delle Macro con controllo a tempo dove il "tempo" continua a cambiare non vorrei entrare in un ciclo dal quale uscire diventi un ginepraio..