Funzione e sub VBA di Excel - Macro semplici di Excel

Sommario

Funzione | Sub

La differenza tra a funzione e un sub in Excel VBA è che una funzione può restituire un valore mentre un sub non può. Funzioni e sub diventano molto utili con l'aumentare delle dimensioni del programma.

Funzione

Se vuoi che Excel VBA esegua un'attività che restituisce un risultato, puoi usare una funzione. Inserire una funzione in un modulo (nell'editor di Visual Basic, fare clic su Inserisci, Modulo). Ad esempio, la funzione con nome Area.

Area funzione (x come doppio, y come doppio) come doppio
Area = x * y
Fine funzione

Spiegazione: Questa funzione ha due argomenti (di tipo Double) e un tipo restituito (la parte dopo As anche di tipo Double). Puoi usare il nome della funzione (Area) nel tuo codice per indicare quale risultato vuoi restituire (qui x * y).

Ora puoi fare riferimento a questa funzione (in altre parole chiamare la funzione) da qualche altra parte nel tuo codice semplicemente usando il nome della funzione e dando un valore per ogni argomento.

Posiziona un pulsante di comando sul foglio di lavoro e aggiungi le seguenti righe di codice:

Dim z come doppio
z = Area(3, 5) + 2
MsgBox z

Spiegazione: La funzione restituisce un valore, quindi devi "catturare" questo valore nel codice. Puoi usare un'altra variabile (z) per questo. Successivamente, puoi aggiungere un altro valore a questa variabile (se lo desideri). Infine, visualizza il valore usando un MsgBox.

Risultato quando si fa clic sul pulsante di comando sul foglio:

Sub

Se vuoi che Excel VBA esegua alcune azioni, puoi usare un sub. Inserire un sottotitolo in un modulo (nell'editor di Visual Basic, fare clic su Inserisci, Modulo). Ad esempio, il sottotitolo con il nome Area.

Sottoarea (x come doppio, y come doppio)
MsgBox x * y
Fine sottotitolo

Spiegazione: Questo sottotitolo ha due argomenti (di tipo Double). Non ha un tipo di ritorno! Puoi fare riferimento a questo sottotitolo (chiamare il sottotitolo) da qualche altra parte nel tuo codice semplicemente usando il nome del sottotitolo e dando un valore per ogni argomento.

Posiziona un pulsante di comando sul foglio di lavoro e aggiungi la seguente riga di codice:

Zona 3, 5

Risultato quando si fa clic sul pulsante di comando sul foglio:

Riesci a vedere la differenza tra la funzione e il sub? La funzione ha restituito il valore 15. Abbiamo aggiunto il valore 2 a questo risultato e abbiamo visualizzato il risultato finale. Quando abbiamo chiamato il sub non avevamo più controllo sul risultato (15) perché un sub non può restituire un valore!

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave