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.
FunzioneArea(xCome Doppio, eCome 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.
come contare il numero di valori univoci in una colonna
Posizionare un pulsante di comando sul foglio di lavoro e aggiungi le seguenti righe di codice:
NessunoInsieme aCome Doppioz = 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.
come premere f2 su mac
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.
SubArea(xCome Doppio, eCome Doppio)MsgBox x * y
Fine Sub
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.
Posizionare un pulsante di comando sul foglio di lavoro e aggiungi la seguente riga di codice:
Zona 3, 5Risultato quando si fa clic sul pulsante di comando sul foglio:
Excel numero casuale compreso tra 0 e 1
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!
Vai al prossimo capitolo: Oggetto Applicazione