Disattiva aggiornamento schermo - Esempi di codice VBA

Per quanto bello possa sembrare guardare la tua macro VBA manipolare lo schermo, puoi aiutare la tua Macro a funzionare più velocemente se disattivi (disabiliti) ScreenUpdating.

Disattiva aggiornamento schermo

1. Per disabilitare ScreenUpdating, all'inizio del codice inserisci questa riga:

1 Application.ScreenUpdating = False

Abilita aggiornamento schermo

2. Per riattivare ScreenUpdating, alla fine del codice inserisci questa riga:

1 Application.ScreenUpdating = True

Esempio di aggiornamento dello schermo VBA

La tua procedura sarà quindi simile a questa:

1234567891011 Sub ScreenUpdating_Example()Application.ScreenUpdating = False'Fare qualcosaIntervallo("a1"). Copia Intervallo("b1")Intervallo("a2"). Copia Intervallo("b2")Intervallo("a3"). Copia Intervallo("b3")Application.ScreenUpdating = TrueFine sottotitolo

Aggiornamento schermo Aggiorna

La disabilitazione di ScreenUpdating renderà il tuo codice VBA MOLTO più veloce, ma renderà anche il tuo lavoro più professionale. Gli utenti finali in genere non vogliono vedere le azioni dietro le quinte delle procedure (soprattutto quando la procedura è lenta). Inoltre, potresti non volere che gli utenti finali vedano la funzionalità dietro le quinte (es. Fogli di lavoro nascosti). Consiglio di disabilitare (e riattivare) ScreenUpdating praticamente in tutte le tue procedure.

Tuttavia, ci sono alcune volte in cui desideri che lo schermo si aggiorni. Per aggiornare lo schermo, dovrai riattivare temporaneamente ScreenUpdating (non esiste un comando di "aggiornamento" dello schermo):

123 Application.ScreenUpdating = True'Fare qualcosaApplication.ScreenUpdating = False

Impostazioni VBA - Accelera il codice

Ci sono molte altre impostazioni con cui giocare per migliorare la velocità del codice.

La disattivazione dei calcoli automatici può fare una ENORME differenza di velocità:

1 Applicazione.Calcolo = xlManuale

Disabilitare la barra di stato farà anche una piccola differenza:

1 Application.DisplayStatusBar = False

Se la cartella di lavoro contiene eventi, di solito dovresti disabilitare gli eventi all'inizio della procedura:

1 Application.EnableEvents = False

Infine, il codice VBA può essere rallentato quando Excel tenta di ricalcolare le interruzioni di pagina (Nota: non tutte le procedure saranno interessate). Per disabilitare la visualizzazione delle interruzioni di pagina utilizzare questa riga di codice:

1 ActiveSheet.DisplayPageBreaks = False

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave