Introduzione a Excel VBA Call Sub

In VBA, abbiamo una funzione come CHIAMATA, che viene utilizzata per chiamare i valori memorizzati in un'altra Sottocategoria o Procedura secondaria. Supponiamo di aver scritto un codice da qualche parte in una cartella di lavoro, ora mentre scriviamo un altro codice abbiamo bisogno dello stesso codice scritto in precedenza. Quindi, invece di scrivere di nuovo lo stesso codice, possiamo chiamare quel codice completo o la procedura secondaria nell'attuale sottocategoria o procedura secondaria. In questo modo è possibile evitare di ripetere la stessa attività della cartella di lavoro.

Come chiamare Sub in Excel VBA?

Di seguito sono riportati i diversi esempi per chiamare Sub in VBA di Excel:

È possibile scaricare questo modello di Excel secondario chiamata VBA qui - Modello di Excel secondario chiamata VBA

Excel VBA Call Sub - Esempio n. 1

Innanzitutto, vediamo un singolo esempio in cui CHIAMIAMO già scritto sottocategoria o procedura di codice. Per questo, abbiamo bisogno di un modulo.

Vai alla finestra VBA e sotto l'opzione di menu Inserisci fai clic su Modulo come mostrato di seguito.

Successivamente, avremo una pagina vuota o una finestra del modulo. Ora in quello scriviamo una sottocategoria di codice che stiamo eseguendo o con qualsiasi altro nome come mostrato di seguito.

Codice:

 Sottotitoli () End Sub 

Ora usa un comando della finestra di messaggio e digita qualsiasi testo o parola che vuoi vedere nella finestra di messaggio. Qui stiamo usando " First " come mostrato di seguito.

Codice:

 Sottotitoli () MsgBox ("First") End Sub 

Ora compila il codice ed eseguilo facendo clic sul pulsante Riproduci che si trova sotto la barra dei menu. Vedremo una finestra di messaggio contenente il messaggio " Primo " come mostrato di seguito.

Ora dopo l'End nello stesso modulo, scrivi un'altra sottocategoria o procedura con qualsiasi nome come mostrato di seguito.

Codice:

 Sub Arriving () End Sub 

In questo usa nuovamente il comando MsgBox e assegnagli un messaggio o un testo secondo la tua scelta. Qui l'abbiamo dato " Secondo " come mostrato di seguito.

Codice:

 Sottotitoli in arrivo () MsgBox ("Second") End Sub 

Ora, se eseguiamo il codice completo, otterremo l'output dell'ultima sottocategoria che è una finestra di messaggio contenente il messaggio " Second ", come mostrato di seguito.

Ecco la funzione CHIAMATA, che useremo per chiamare entrambi i messaggi uno per uno. Questo sarà usato nella prima sottocategoria.

Per questo tipo Chiama nella prima sottocategoria prima di Fine, seguita dal nome di quella sottocategoria di cui vogliamo chiamare il codice. Di seguito MsgBox stiamo usando Call seguito da Arriving che è il nome della sottocategoria del codice scritto sotto.

Codice:

 Sottotitoli () MsgBox ("Primo") Fine chiamata in arrivo Sottotitoli in arrivo () MsgBox ("Secondo") Fine sub 

Ora compila il codice completo dall'inizio alla fine ed eseguilo. Vedremo la finestra di messaggio chiamata con il messaggio "First". Ora fai clic su OK per procedere oltre. Una volta fatto ciò, otterremo la seconda finestra di messaggio contenente il messaggio " Secondo ", come mostrato di seguito. E se fai di nuovo clic su OK, uscirà dalla procedura.

Cosa succede se cambiamo la posizione della funzione Chiamata da prima di Fine a dopo la prima Sottocategoria, come mostrato di seguito? Ora esegui nuovamente il codice completo.

Codice:

 Sottotitoli () Chiamata in arrivo MsgBox ("Primo") Fine Sottotitoli in arrivo () MsgBox ("Secondo") Fine Sottotitoli 

Apparirà il messaggio memorizzato nella seconda sottoprocedura, che è " Secondo " seguito dal messaggio " Primo " quando si fa clic su OK come mostrato di seguito.

Quindi dipende tutto da noi, quale procedura secondaria o categoria vogliamo chiamare per prima.

Excel VBA Call Sub - Esempio n. 2

Vediamo un altro esempio in cui useremo una funzione Call per chiamare diverse sottocategorie. Per questo, abbiamo bisogno di un nuovo modulo. Apri un modulo dal menu Inserisci. E dà una sottocategoria con qualsiasi nome, come mostrato di seguito.

Codice:

 Sub VBACall () End Sub 

Definire 3 variabili Num1, Num2 e Ans1 in DIM e assegnarle quindi con Long . Possiamo usare anche Integer o Double, a seconda dell'uso. Long ci consentirà di considerare qualsiasi lunghezza del numero.

Codice:

 Sub VBACall () Dim Num1 come Long Dim Num2 come Long Dim Ans1 come Long End Sub 

Ora dai a Num1 e Num2 qualsiasi numero di tua scelta. Abbiamo dato loro rispettivamente 100 e 50 . Considerando 100 e 50 ci aiuterà a identificare rapidamente l'output.

Codice:

 Sub VBACall () Dim Num1 come lungo Dim num2 come lungo Dim Ans1 come lungo Num1 = 100 Num2 = 50 End Sub 

Ora usa la formula di moltiplicazione per moltiplicare i numeri memorizzati in Num1 e Num2 e memorizzare la loro risposta nella variabile Ans1 come mostrato di seguito.

Codice:

 Sub VBACall () Dim Num1 come lungo Dim num2 come lungo Dim Ans1 come lungo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

Nella prossima riga di codice, useremo l'oggetto VBA. Per questo seleziona il foglio con il comando Foglio di lavoro e assegnagli un intervallo di qualsiasi cella. Abbiamo selezionato la cella dell'intervallo come B1. E infine stampa il risultato con qualsiasi nome come Risultato o Risposta come mostrato di seguito.

Codice:

 Sub VBACall () Dim Num1 come lungo Dim num2 come lungo Dim Ans1 come lungo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 fogli di lavoro (1). Range ("B1"). Value = "Answer" End Sub 

Ora assegnagli la posizione in cui vogliamo vedere la risposta nello stesso modo mostrato sopra. Qui stiamo scegliendo la cella C1 come cella di output e inseriamo qui l'ultima variabile Ans1 .

Codice:

 Sub VBACall () Dim Num1 come lungo Dim Num2 come lungo Dim Ans1 come lungo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 fogli di lavoro (1). Range ("B1"). Valore = "Answer" fogli di lavoro (1). Range ("C1"). Valore = Ans1 End Sub 

Ora esegui il codice. Vedremo un risultato di moltiplicazione nella cella C1.

Scrivere un'altra sottocategoria sotto lo stesso codice dopo End.

Codice:

 Sub VBACall2 () End Sub 

Definire nuovamente 3 variabili Num3, Num4 e Ans2 in DIM e assegnarle quindi con Long.

Codice:

 Sottotitoli VBACall2 () Dim. 3 come Dim. Lunghi Num4. Dim. Lunghi Ans2 come sottotitoli 

Assegna a Num3 e Num4 gli stessi valori di 100 e 50 e aggiungi entrambi i numeri.

Codice:

 Sottotitoli VBACall2 () Dim Num3 lunghi Dim Num4 lunghi Dim Ans2 lunghi Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Ora usa l'oggetto VBA in un modo simile a quello usato sopra e dai quindi l'intervallo di celle come B2 per Answer e C2 per l'output di Ans2 .

Codice:

 Sottotitoli VBACall2 () Dim Num3 lunghi Dim Num4 lunghi Dim Ans2 lunghi Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 fogli di lavoro (1). Range ("B2"). Valore = "Answer" fogli di lavoro (1). Range ("C2"). Valore = Ans2 End Sub 

Per chiamare entrambi i risultati uno per uno, usa la funzione Chiama che gli dà il nome di 2a Sottocategoria come mostrato di seguito.

Codice:

 Sub VBACall () Dim Num1 come lungo Dim Num2 come lungo Dim Ans1 come lungo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 fogli di lavoro (1). Range ("B1"). Valore = "Answer" fogli di lavoro (1). Range ("C1"). Valore = Ans1 Chiama VBACall2 Fine Sottotitolo VBACall2 () Dim Num3 Dim lungo Dim Dim4 Lungo Dim Dim Ans2 lungo Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Fogli di lavoro (1). Range ("B2" ) .Value = Fogli di lavoro "Answer" (1) .Range ("C2"). Value = Ans2 End Sub 

Ora compila l'intero codice ed eseguilo. Saremo i primi alla cella C2, abbiamo ottenuto il risultato della moltiplicazione e alla cella C3, a seguito dell'aggiunta.

Per conoscere la sequenza corretta, possiamo usare il comando MsgBox come usato nell'esempio-1 e vedere quali valori hanno chiamato in quale sequenza.

Pro di Excel VBA Call Sub

  • VBA Call Sub consente di risparmiare tempo nella scrittura ripetuta dello stesso codice.
  • La chiamata all'archivio delle procedure secondarie VBA nello stesso Excel riduce anche le dimensioni del file Excel.

Cose da ricordare

  • Utilizzare la finestra di messaggio a scopo di test per visualizzare l'esecuzione sequenziale di più codici.
  • Compilare le righe di codice più grandi premendo il tasto F8 in modo da poter identificare la parte dell'errore.
  • Salvare il file in Macro Abilitare il formato Excel per conservare il codice scritto.
  • L'uso di CALL prima di End eseguirà prima il primo codice e dopo la prima Sottoprocedura eseguirà prima il secondo codice.

Articoli consigliati

Questa è una guida a VBA Call Sub. Qui discutiamo come chiamare Sub in Excel VBA insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA Do Until Loop
  2. Formula SUBTOTALE in Excel
  3. VBA While Loop
  4. Sottostringa Funzione Excel

Categoria: