› Sviluppare funzionalita su Microsoft Office con VBA › Sub Sub Worksheet_Activate() non viene eseguita da attivazione da VBA
-
AutoreArticoli
-
Buongiorno,
un foglio, chiamiamolo AA, all'interno di una cartella contiene una sub Worksheet_Activate().
Ora se sono in un altro foglio della cartella, chiamiamolo BB, e clicco sul foglio A la macro prevista per l'evento Activate nel foglio A viene eseguita regolarmente.
Ma durante l'esecuzione di una macro in VBA, se è attivo il foglio BB ed eseguo il comando AA.Activate la macro prevista per l'evento Activate nel foglio AA non viene eseguita.
????
Non capisco perchè. Dove sbaglio?
Grazie carissimi!
E non funziona nemmeno la macro prevista nel foglio BB per Worksheet_Deactivate()
ciao,
se ho capito correttamente.... "durante l'esecuzione di una macro in VBA" non puoi far partire in parallelo un'altra macro
Ah! In effetti è così, non ci avevo pensato! Non è come una call, l'esecuzione di una macro "evento", in questo caso: Activate e Deactivate, non sarebbe come una call ma, in effetti, una macro (anzi due) eseguita in parallelo ...
mmm ...
>>>Ma durante l'esecuzione di una macro in VBA
Strano, servirebbe vedere il codice per capire, comunque basta che all'interno ci sia un "Application.EnableEvents = False" che non funzionerà mai. Comunque, se racchiudi il codice di Sub Worksheet_Activate() in una nuova Sub Activa() e in Sub Worksheet_Activate() ci metti solo "Call Activa". Ora dentro l'altro codice ci metti ancora "Call Activa"e, in effetti è così che ho fatto. Praticamente ho ripetuto le poche istruzioni presenti nella Worksheet_Activate() e nella Worksheet_Deactivate() nel codice che eseguiva la AA.Activate (e di conseguenza BB.Deactivate). Certo se le istruzioni erano molte occorreva fare una Sub Activa (e una Sub Deactiva) e richiamarle da una call.
Perfetto!
Comunque ora controllo che non ci sia un Application.EnableEvents = False da qualche parte ..
Grazie carissimi!
-
AutoreArticoli
Devi essere loggato per rispondere a questa discussione.
