Sommario
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.xlsmIntroduzione 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.