Excel VBA ScreenUpdating

Quando eseguiamo qualsiasi macro VBA con un enorme set di codice, il codice viene completato ma in background otteniamo l'elaborazione dei dati sotto forma di esecuzione o in attesa del puntatore. E una volta fatto, possiamo solo vedere l'output. Il modo normale non è il modo corretto di vedere come i valori si aggiornano eseguendo il codice. Ad esempio, supponiamo di aver scritto il codice per generare alcuni numeri in 100 celle. Ora quel codice potrebbe semplicemente generare l'output senza mostrare come vengono stampati i numeri. Per risolvere questo problema, abbiamo VBA ScreenUpdating . ScreenUpdating in VBA ci aiuta a vedere come il codice sta generando l'output. Possono essere numeri, testo, alfabeti o combinazioni. Una volta eseguito il ciclo del codice, tramite VBA ScreenUpdating potremmo vedere i numeri generati.

Come utilizzare l'applicazione ScreenUpdating in Excel VBA?

Impareremo come utilizzare l'applicazione ScreenUpdating in Excel utilizzando il codice VBA.

Puoi scaricare questo modello di VBA ScreenUpdating Excel qui - Modello di VBA ScreenUpdating Excel

VBA ScreenUpdating può essere notato mentre eseguiamo il codice o la macro. Mentre il codice è in esecuzione, saremo in grado di vedere come il nostro schermo viene aggiornato dai valori generati dal codice scritto in VBA. Invece di vedere il vecchio segno di attesa, con l'aiuto di VBA ScreenUpdating possiamo vedere come lo schermo sta aggiornando i valori di output di VBA ScreenUpdating. A questo punto, possiamo anche vedere il nome dell'articolo stesso che lo definisce funzionare, VBA ScreenUpdating .

VBA ScreenUpdating - Esempio n. 1

In questo esempio, vedremo un semplice codice per l'aggiornamento della schermata. Per questo, abbiamo bisogno di alcune celle con numeri, come mostrato di seguito. Per questo, seguire i passaggi seguenti:

Passaggio 1: aprire un modulo dalla scheda del menu Inserisci come mostrato di seguito.

Passaggio 2: scrivere ora la sottoprocedura nel nome di VBA ScreenUpdating come mostrato di seguito.

Codice:

 Sub Screen_Update1 () End Sub 

Passaggio 3: copieremo ora i numeri dalla cella A1: A3 a qualsiasi altra cella. Supponiamo che la cella sia C1: C3 con l'aiuto del codice seguente.

Codice:

 Sub Screen_Update1 () Range ("A1"). Copia Range ("C1") Range ("A2"). Copia Range ("C2") Range ("A3"). Copia Range ("C3") End Sub 

Passo 4: Ora se eseguiamo questo codice, potremmo ottenere solo l'output che viene copiato i valori dalla colonna A alla C. Ora utilizzeremo l'applicazione ScreenUpdating come mostrato di seguito.

Codice:

 Sotto Screen_Update1 () Application.ScreenUpdating Range ("A1"). Copia intervallo ("C1") Range ("A2"). Copia intervallo ("C2") Range ("A3"). Copia intervallo ("C3") Fine Sub 

Passaggio 5: mettiamo un segno di uguale per selezionare i valori booleani VERO o FALSO. Selezioneremo FALSO per interrompere l'aggiornamento dello schermo.

Codice:

 Sotto Screen_Update1 () Application.ScreenUpdating = False Range ("A1"). Copia Range ("C1") Range ("A2"). Copia Range ("C2") Range ("A3"). Copy Range ("C3" ) End Sub 

Passaggio 6: eseguire il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci situato sotto la barra dei menu. Vedremo che i valori vengono copiati dalla colonna A alla C.

Questo potrebbe essere visto più chiaramente se abbiamo un numero enorme di numeri.

VBA ScreenUpdating - Esempio n. 2

Vediamo un altro esempio di ScreenUpdating. Questa volta consideriamo il numero da 1 a 20 dalla cella A1 a A20 come mostrato di seguito.

Per utilizzare l'applicazione di aggiornamento dello schermo, attenersi alla seguente procedura:

Passaggio 1: scrivere la sottoprocedura di VBA Screenupdating come mostrato di seguito.

Codice:

 Sub Screen_Update2 () End Sub 

Passo 2: Ora scrivi il codice per selezionare la cella dell'intervallo da A1 a A20 e copiali da B1 a F20 come mostrato di seguito. In modo simile a quello che abbiamo visto nell'esempio 1.

Codice:

 Sub Screen_Update2 () Range ("A1: A20"). Copia Range ("B1: F20") End Sub 

Passaggio 3: per applicare l'applicazione di aggiornamento dello schermo, utilizzeremo di nuovo una riga di codice simile che abbiamo visto nell'esempio-1.

Codice:

 Sub Screen_Update2 () Application.ScreenUpdating = False Range ("A1: A20"). Copia Range ("B1: F20") End Sub 

L'applicazione precedentemente utilizzata ScreenUpdating come FALSE ci permetterà di vedere come il codice VBA aggiorna lo schermo. Poiché abbiamo più numeri, quindi ci sono possibilità che possiamo vedere l'aggiornamento dello schermo.

Passaggio 4: eseguire il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci. Potremmo vedere il valore essere aggiornato.

VBA ScreenUpdating - Esempio n. 3

C'è un altro modo per vedere lo schermo essere aggiornato. Questo potrebbe essere fatto con l'aiuto del For-Next Loop. In questo esempio, stamperemo i numeri in una matrice combinata di righe e colonne. Per questo, seguire i passaggi seguenti:

Passaggio 1: scrivere la sottoprocedura di VBA ScreenUpdating.

Codice:

 Sub Screen_Updating3 () End Sub 

Passaggio 2: ora dichiarare le 2 variabili per riga e colonna separatamente come tipo di dati Long.

Codice:

 Sub Screen_Updating3 () Dim RowCount come long Dim ColumnCount as Long End Sub 

Passaggio 3: ora dichiarare un'altra variabile che useremo come riferimento per iniziare i numeri.

Codice:

 Sottotitoli Screen_Updating3 () Dim Row Conteggio come colonna Dim lungo Conteggio come long Dim MyNumber Come sottotitolo lungo 

Step 4: Ora dai il numero di riferimento da quale posizione vogliamo iniziare il conteggio. Qui lo diamo come 0.

Codice:

 Sub Screen_Updating3 () Dim RowCount come long Dim ColumnCount come long Dim MyNumber come Long MyNumber = 0 End Sub 

Passo 5: Ora apri un ciclo For e dai il conteggio delle colonne e delle righe che vogliono vedere l'aggiornamento. Diciamo da 1 a 50.

Codice:

 Sub Screen_Updating3 () Dim RowCount come long Dim ColumnCount come long Dim MyNumber come Long MyNumber = 0 per RowCount = da 1 a 50 End Sub 

Passaggio 6: per continuare il ciclo, assegnare la variabile MyNumber +1.

Codice:

 Sub Screen_Updating3 () Dim RowCount come long Dim ColumnCount come long Dim MyNumber come Long MyNumber = 0 per RowCount = 1 a 50 per ColumnCount = 1 a 50 MyNumber = MyNumber + 1 End Sub 

Passo 7: Ora seleziona le variabili Riga e Colonna nella funzione Cella. Quindi selezionare i valori memorizzati in essi e assegnarli alla variabile MyNumber.

Codice:

 Sub Screen_Updating3 () Dim RowCount As Dim long ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 a 50 For ColumnCount = 1 a 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Seleziona celle (RowCount, ColumnCount) .Value = MyNumber End Sub 

Step 8: Ora chiudi il Loop di Next. Includi variabili di riga e colonna che abbiamo definito e utilizzato nel ciclo For-Next.

Codice:

 Sub Screen_Updating3 () Dim RowCount As Dim long ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 a 50 For ColumnCount = 1 a 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Seleziona celle (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount End Sub 

Passaggio 9: ora non abbiamo ancora inserito l'applicazione Screenupdating. Ora inserisci l'applicazione Screenupdating come FALSE prima dell'inizio del loop e come TRUE alla fine del loop come mostrato di seguito.

Codice:

 Screen_Updating3 secondario () Dim RowCount come long Dim ColumnCount long long MyNumber come long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 a 50 For ColumnCount = 1 a 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Seleziona celle (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

Ora compila il codice completo passo dopo passo premendo il tasto funzione F8 e quindi eseguilo se non viene trovato alcun errore. Vedremo come ogni cella delle righe e delle colonne selezionate viene aggiornata con i valori in essa memorizzati.

Pro di Excel VBA ScreenUpdating

  • È abbastanza utile vedere come lo schermo viene aggiornato con il valore memorizzato nel loop.
  • Possiamo usare Screenupdating se vogliamo passare da fogli di lavoro a cartelle di lavoro.
  • Possiamo usare qualsiasi intervallo di numeri.

Cose da ricordare

  • Usiamo l'inserto For-Next loop come frame o prima, possiamo soddisfare la condizione di For loop e quindi chiuderlo con Next.
  • VBA ScreenUpdating è abbastanza utile e visibile se stiamo usando un enorme set di numeri.
  • Una volta fatto, salva il file Excel poiché Macro abilita il formato Excel.
  • VBA ScreenUpdating può anche essere usato per creare una macro attraverso la quale possiamo inviare e-mail.

Articoli consigliati

Questa è una guida a VBA ScreenUpdating. Qui discutiamo come utilizzare l'applicazione ScreenUpdating in Excel VBA insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Collezione VBA (esempi)
  2. Dichiarazioni VBA IF | Modelli Excel
  3. Come utilizzare la funzione di ordinamento VBA di Excel?
  4. VBA While Loop (esempi con modello Excel)
  5. VBA Environ

Categoria: