VBA Call Sub

Cos'è Call Sub in VBA?

Possiamo eseguire tutte le sottoprocedure dello stesso modulo in una singola subroutine e il processo di eseguirle in una singola subroutine VBA chiamata “Call Sub”.

In alcuni casi, potrebbe essere necessario scrivere un'enorme quantità di codice e scriverli in una singola macro crea molti problemi durante il debug del codice. All'inizio, tutti tendono a farlo esclusivamente a causa della mancanza di conoscenza del metodo "Call Sub".

Non è buona pratica mantenere tutti i codici in un'unica sottoprocedura, dobbiamo suddividerli in più sottoprocedure per semplificare il codice.

Come chiamare la subroutine in Excel VBA?

L'esecuzione della macro excel da una procedura all'altra semplifica la vita puramente sulla base del risparmio di molto tempo durante l'esecuzione e durante il debug del codice in caso di errore.

Puoi scaricare questo modello VBA Call Sub Excel qui - Modello VBA Call Sub Excel

Codice:

 Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub 

Nell'immagine sopra, abbiamo due sottoprocedure. Il primo è "Code_1" e il secondo è "Code_2".

Nel primo sottocodice di chiamata VBA, ho appena scritto un codice per inserire un valore nella cella A1 come "Hello". Nella seconda procedura sub, ho scritto il codice per cambiare il colore interno della cella A1 in "rgbAquamarine".

Ora eseguirò il primo codice, ovvero "Code_1".

Ora eseguirò il secondo codice, ovvero "Code_2".

Qui ho eseguito il codice volte.

Utilizzando il VBA "call Sub" possiamo eseguire entrambe le sottoprocedure in una sola macro. Dobbiamo solo aggiungere la parola "Call" seguita da un nome di macro.

Guarda l'immagine grafica qui sotto.

Ho menzionato il codice come "Call Code_2" solo nella prima sottoprocedura. Ora per capire eseguiamo il codice riga per riga. Premere il tasto F8 evidenzierà il nome della macro.

Premere il tasto F8 ancora una volta per passare alla riga successiva.

La linea gialla mostra che il codice evidenziato sta per essere eseguito se premiamo ancora una volta il tasto F8. Premere il tasto F8 ora.

Come possiamo vedere ha inserito la parola “Hello” nella cella A1. Ora la riga "Call Code_2" è stata evidenziata.

"Call Code_2" ha il compito di cambiare il colore interno della cella A1 e la parola "Call Code_2" eseguirà questo codice solo dalla procedura sub effettiva.

Ma premi il tasto F8 per vedere la magia.

È passato al nome della sottoprocedura menzionata. Premere ancora una volta il tasto F8.

Ora la linea di attività effettiva è evidenziata, per eseguire questo premere il tasto F8 ancora una volta.

In questo modo, possiamo eseguire molte sottoprocedure da una sottoprocedura chiamando la sottoprocedura con il loro nome con la parola "Chiama".

Nota:

  • Possiamo eseguire la macro di un'altra sottoprocedura senza usare la parola "Call" ma semplicemente citando il nome della macro stessa.
  • Questa non è la migliore pratica perché se la sottoprocedura macro contiene parentesi che si desidera eseguire, la parola "Chiama" è obbligatoria.
  • A mio parere personale usa sempre la parola “Chiama” perché è solo una parola di 4 lettere che permette ad altri di capire correttamente il codice.