Molte persone scrivono le proprie macro per gestire le informazioni in una cartella di lavoro. Molte volte, la macro può lavorare parecchio con i dati, come selezionare celle diverse, sostituire valori o formule e intraprendere altri tipi di azioni. Ciò significa che la schermata di Excel può sembrare “impazzita” mentre la macro è in esecuzione.
Una cosa che potresti voler fare con la tua macro per farla funzionare più velocemente e per evitare flash che distraggono sullo schermo, è disattivare l’aggiornamento dello schermo mentre la macro è in esecuzione. Le seguenti righe di macro disattivano rispettivamente l’aggiornamento dello schermo e quindi lo riattivano in una macro VBA.
Application.ScreenUpdating = False
Application.ScreenUpdating = True
L’idea è di utilizzare la prima riga vicino all’inizio della macro, quindi utilizzare la seconda riga verso la fine. Pertanto, il corpo principale della tua macro può svolgere il proprio lavoro dietro le quinte senza la necessità di fermarsi per aggiornare lo schermo.
A volte Application.ScreenUpdating = False può sembrare non funzionare quando il codice attiva un foglio di lavoro (Activate) o seleziona un intervallo su un foglio di lavoro (Select). Non sono sicuro di quale sia la causa, ma evitando entrambe le istruzioni, il problema solitamente scompare. D’altro canto, non dovrebbe essere necessario attivare o selezionare a meno che non si desideri visualizzare l’oggetto (e aggiornare lo schermo).