Differenza tra subroutine & funzione in Excel VBA

  • Condividi Questo
Hugh West

Ci sono molte somiglianze tra un Funzione personalizzata/Funzione definita dall'utente e la procedura Sottoprocedura/Subroutine in Excel , Funzione Le procedure hanno alcune importanti differenze rispetto a Subroutine In questo articolo vedremo la differenza tra subroutine e funzione in Excel VBA .

Scarica il quaderno di esercizi

Potete scaricare il quaderno di esercizi da qui.

Subroutine e funzioni.xlsm

Introduzione alle subroutine e alle funzioni in Excel VBA

La differenza più importante è che una funzione restituisce un valore (un numero o una stringa di testo). Il valore della procedura della funzione viene memorizzato in una variabile, il cui nome è lo stesso della funzione. La subroutine esegue una serie di compiti e non restituisce un valore come le funzioni.

1. Funzione definita dall'utente di Excel VBA

Si veda il seguente esempio. AggiungiDueNumeri è il nome della funzione. Questa funzione restituirà la somma di due numeri passati come argomenti ( arg1 e arg2 ). La somma viene memorizzata in una variabile denominata AggiungiDueNumeri come il nome della funzione.

Funzione VBA AddTwoNumber

Per creare una funzione personalizzata, procedere come segue:

  • Innanzitutto, attivare la funzione Editor VBA premendo Alt+F11 .
  • In secondo luogo, selezionare la cartella di lavoro nella finestra Progetto finestra.
  • In terzo luogo, scegliere Inserire e poi Modulo per inserire un VBA Si può anche utilizzare un modulo di codice esistente. Il modulo di codice deve essere uno standard VBA modulo.

  • Copiate e incollate il codice seguente per la funzione. Il nome della funzione deve essere unico per la cartella di lavoro. Inserite l'elenco degli argomenti (se presenti) tra parentesi. Se la funzione non utilizza alcun argomento, l'opzione Editor VBA aggiunge un insieme di parentesi vuote.
 Funzione AddTwoNumber(arg1, arg2) 'Restituisce la somma di due numeri forniti come argomenti AddTwoNumber = arg1 + arg2 Fine funzione 
  • Inoltre, questa parte è importante: inserire il VBA Il valore che si vuole restituire da questa funzione sarà memorizzato in una variabile, il cui nome è lo stesso della funzione.
  • Infine, terminare la funzione con un Fine della funzione .

Per saperne di più: Come utilizzare le funzioni definite dall'utente in VBA (4 esempi)

Letture simili

  • 22 esempi di macro in Excel VBA
  • 20 consigli pratici di codifica per padroneggiare Excel VBA
  • Come scrivere codice VBA in Excel (con semplici passaggi)
  • Tipi di macro VBA in Excel (guida rapida)

2. Subroutine VBA di Excel

Nell'esempio seguente, si vedrà come la subroutine in Excel VBA funziona. Qui il Sub inizia il corpo della subroutine. Il nome della subroutine è square_root. Nel corpo della subroutine, eseguiamo un'operazione nella cella A2 Il compito è quello di eseguire la radice quadrata nella cella A2 Significa che se la cella contiene un numero qualsiasi, il VBA di Excel eseguirà la radice quadrata della cella. Fine Sub termina il corpo della subroutine.

Per creare una subroutine, procedere come segue:

  • Per prima cosa, attivare l'opzione Editor VB (stampa Alt+F11 ).
  • In secondo luogo, selezionare la cartella di lavoro nella finestra Progetto finestra.
  • Terzo, scegliere Inserire e poi Modulo per inserire un modulo VBA. È anche possibile utilizzare un modulo di codice esistente. Il modulo di codice deve essere un modulo VBA standard.

  • Quindi, inserire la parola chiave SUB seguito dal nome della subroutine.
  • Inoltre, inserire il VBA codice che si desidera eseguire.
 Sub radice_quadrata() Range("C5").Value = Range("C4").Value ^ (1 / 2) End Sub 
  • Infine, la subroutine con un Fine Sub .

Differenze chiave tra subroutine e funzioni in Excel VBA

Dopo aver eseguito le subroutine e le funzioni separatamente, possiamo concludere le differenze nella tabella seguente.

Funzioni Subroutine
1) Restituisce un valore. 1) Esegue una serie di compiti ma non restituisce un valore.
2) Le funzioni vengono chiamate utilizzando una variabile. 2) Può essere richiamato da qualsiasi punto del programma in più tipi dopo la dichiarazione.
3) Possono essere utilizzati come formule nei fogli di calcolo. 3) Non possono essere utilizzati direttamente nei fogli di calcolo come formule.
4) Possiamo utilizzare le funzioni come formule nei fogli di calcolo e possiamo eseguirle più volte dopo aver eseguito il codice. 4) Per trovare il risultato della subroutine VBA di Excel dobbiamo prima inserire un valore nella cella desiderata.
5) Sintassi:

Funzione Nome_funzione()

/Insieme di codici

Fine della funzione

5) Sintassi:

Sub Nome_Sub ()

/Insieme di codici

Fine Sub

Cose da ricordare

  • Lo sviluppatore scheda deve essere abilitato prima di utilizzare questi metodi.
  • Possiamo trovare Subroutine in Macro nel Sviluppatore mentre le funzioni definite dall'utente nella scheda Funzione scheda utilizzando la ricerca personalizzata.

Conclusione

Se avete ancora problemi con una di queste istruzioni o avete delle discrepanze, fatecelo sapere nei commenti. Il nostro team è pronto a rispondere a tutte le vostre domande. Per qualsiasi problema relativo a excel, potete visitare il nostro sito web ExcelWIKI per le soluzioni.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.