/ / Funzione definita dall'utente in VBA di Excel

Funzione definita dall'utente in VBA di Excel

Di seguito vedremo un programma in Excel VBA che crea un Funzione definita dall'utente. Excel ha una vasta collezione di funzioni. Nella maggior parte dei casi tali funzioni sono sufficienti per svolgere il lavoro. In caso contrario, è possibile creare la propria funzione denominata Funzione definita dall'utente o funzione Excel personalizzata. È possibile accedere a una funzione definita dall'utente come qualsiasi altra funzione di Excel.

Vogliamo creare una funzione chiamata SUMEVENNUMBERS che trovi la somma dei numeri pari di un intervallo selezionato a caso.

Situazione:

Funzione definita dall'utente in VBA di Excel

Le funzioni definite dall'utente devono essere inserite in un modulo.

1. Aprire Visual Basic Editor e fare clic su Inserisci, Modulo.

2. Aggiungi la seguente riga di codice:

Function SUMEVENNUMBERS(rng As Range)

Il nome della nostra funzione è SUMEVENNUMBERS. La parte tra parentesi significa che diamo a VBA di Excel un intervallo come input. Diamo un nome alla nostra gamma rng, ma puoi usare qualsiasi nome.

3. Successivamente, dichiariamo un oggetto Range e lo chiamiamo cell.

Dim cell As Range

4. Vogliamo controllare ogni cella in un intervallo selezionato casualmente (questo intervallo può essere di qualsiasi dimensione). In VBA di Excel, è possibile utilizzare il ciclo For Each Next per questo. Aggiungi le seguenti linee di codice:

For Each cell In rng

Next cell

Nota: la cella viene scelta casualmente qui, puoi usare qualsiasi nome.

5. Successivamente, controlliamo ogni valore in questo intervallo, indipendentemente dal fatto che sia pari o meno. Usiamo l'operatore Mod per questo. L'operatore Mod dà il resto di una divisione. Quindi 7 mod 2 darebbe 1. 7 è diviso per 2 (3 volte) per dare un resto di 1. Detto ciò, è facile verificare se un numero è pari o meno. Solo se il resto di un numero diviso per 2 è 0, il numero è pari. 8 mod 2 dà 0, 8 è diviso per 2 esattamente 4 volte, e quindi 8 è pari. Aggiungere la seguente istruzione If al ciclo For Each Next.

If cell.Value Mod 2 = 0 Then

End If

6. Solo se questa affermazione è vera, aggiungiamo il valore a SUMEVENNUMBERS. Aggiungere la seguente riga di codice nell'istruzione If.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Non dimenticare di terminare la funzione (fuori dal ciclo).

End Function

8. Ora puoi utilizzare questa funzione, proprio come qualsiasi altra funzione di Excel, per trovare la somma dei numeri pari di un intervallo selezionato casualmente.

Risultato:

Risultato funzione definita dall'utente

Molto bene! Ecco come sono semplici le funzioni definite dall'utente in VBA di Excel. Nota: questa funzione è disponibile solo in questa cartella di lavoro.

Leggi anche: