Quando si dispone di una macro / codice vba di grandi dimensioni che deve essere eseguito per molti minuti, è possibile modificare il cursore in clessidra o in attesa (in base alle impostazioni di sistema) per il periodo in cui la macro è in esecuzione. Una volta completata la macro, il cursore può essere riportato al cursore predefinito.

Questo è un codice di esempio che mostra come cambiare il cursore.

Option Explicit

_Sub macro1 () _

Application.Cursor = xlWait

‘Codice qui

Application.Cursor = xlDefault

End Sub Dopo le istruzioni dim (questo codice di esempio non ne ha ancora), impostiamo Application.Cursor = xlWait * all’inizio del codice.

  • Quindi puoi includere qualsiasi codice necessario per eseguire. Se hai bisogno di chiamare più sub / procedure, puoi farlo qui o semplicemente inserire l’intero codice qui.

Quindi, subito prima dell’istruzione End Sub, è necessario reimpostare il cursore sul valore predefinito. Lo facciamo usando la riga Application.Cursor = xlDefault *

__

Puoi includere tutte le altre istruzioni necessarie come Application.ScreenUpdating = False_or_Application.DisplayAlerts = False _ insieme a _Application.Cursor = xlWait_statement. Allo stesso modo, puoi includere _Application.ScreenUpdating = True o Application.DisplayAlerts = True insieme all’istruzione Application.Cursor = xlDefault *.

__

  • Per copiare questo codice, premi i tasti Alt + F11 sulla tastiera per aprire il modulo del codice. Sul lato sinistro vedrai gli oggetti di Microsoft Excel. Fare clic con il tasto destro e selezionare Inserisci, quindi selezionare Modulo. Copia il codice nella finestra del codice a destra.