Come creare funzioni definite dall'utente in Microsoft Excel

Sommario:

Come creare funzioni definite dall'utente in Microsoft Excel
Come creare funzioni definite dall'utente in Microsoft Excel

Video: Come creare funzioni definite dall'utente in Microsoft Excel

Video: Come creare funzioni definite dall'utente in Microsoft Excel
Video: Tre errori da NON fare con i propri figli | Filippo Ongaro 2024, Maggio
Anonim

Sebbene Excel disponga già di centinaia di funzioni integrate come SOMMA, CERCA. VERT, SINISTRA e così via, le funzioni integrate disponibili in genere non sono sufficienti per eseguire attività abbastanza complesse. Tuttavia, non preoccuparti perché devi solo creare tu stesso le funzioni richieste.

Fare un passo

Crea una funzione definita dall'utente in Microsoft Excel Passaggio 1
Crea una funzione definita dall'utente in Microsoft Excel Passaggio 1

Passaggio 1. Creare una nuova cartella di lavoro o aprire la cartella di lavoro che si desidera elaborare con Funzioni definite dall'utente (UDF)

Crea una funzione definita dall'utente in Microsoft Excel Passaggio 2
Crea una funzione definita dall'utente in Microsoft Excel Passaggio 2

Passaggio 2. Aprire Visual Basic Editor in Microsoft Excel tramite Strumenti->Macro->Visual Basic Editor (o premere la scorciatoia Alt+F11)

Crea una funzione definita dall'utente in Microsoft Excel Passaggio 3
Crea una funzione definita dall'utente in Microsoft Excel Passaggio 3

Passaggio 3. Fare clic sul pulsante Modulo per aggiungere un nuovo modulo al foglio di lavoro

Puoi creare una UDF in una cartella di lavoro senza aggiungere un nuovo modulo, ma la funzione non funzionerà in altri fogli di lavoro nella stessa cartella di lavoro.

Crea una funzione definita dall'utente in Microsoft Excel Passaggio 4
Crea una funzione definita dall'utente in Microsoft Excel Passaggio 4

Passaggio 4. Crea la "testa" o il "prototipo" della tua funzione

Il prototipo della funzione deve seguire la seguente struttura:

funzione pubblica "Nome funzione" (parametro1 Come tipo1, parametro2 Come tipo2) Come tipo di risultato.

I prototipi possono avere quante più funzioni possibili e i loro tipi possono essere tutti i tipi di dati di base o i tipi di oggetti Excel sotto forma di Intervallo. Puoi pensare ai parametri come "operanti" (operatori) su cui agirà la funzione. Ad esempio, quando si scrive SIN(45) per calcolare il seno di 45 gradi, il numero 45 verrà preso come parametro. Quindi, il codice funzione utilizzerà quei valori per eseguire calcoli e visualizzare i risultati.

Crea una funzione definita dall'utente in Microsoft Excel Passaggio 5
Crea una funzione definita dall'utente in Microsoft Excel Passaggio 5

Passaggio 5. Aggiungere il codice funzione per assicurarsi di: 1) utilizzare il valore fornito dal parametro; 2) passare il risultato al nome della funzione; e 3) chiudere la funzione con la frase "end function". Imparare a programmare in VBA o in qualsiasi altra lingua richiede molto tempo e una guida dettagliata. Fortunatamente, queste funzioni di solito hanno piccoli blocchi di codice e non fanno molto uso delle funzionalità del linguaggio di programmazione. Ecco alcuni elementi del linguaggio VBA che possono essere utilizzati:

  1. Il blocco If (if), che consente di eseguire una porzione di codice solo se la condizione è soddisfatta. Come esempio:
  2. Risultato del corso con funzione pubblica (come valore intero) come stringa

    Se valore >= 5 Allora

    Risultati del corso = "Accettato"

    Altro

    Risultati del corso = "Rifiutato"

    Finisci se

    Fine funzione

    Notare gli elementi nel blocco di codice If:

    IF condizione THEN codice ELSE codice END IF

  3. . Puoi omettere la parola chiave Else insieme alla seconda parte del codice poiché è facoltativa.
  4. Il blocco Do (do), che esegue una parte del codice While o Until quando o finché la condizione non viene soddisfatta. Come esempio:
  5. Funzione pubblica BilPrima(value As Integer) As Boolean

    Dim i As Integer

    io = 2

    BilPrima = Vero

    Fare

    Se valore / i = Int(valore / i) Allora

    BilPrima = Falso

    Finisci se

    io = io + 1

    Loop While i < valore e NumberPrima = True

    Fine funzione

    Guarda di nuovo gli elementi:

    DO codice LOOP WHILE/UNTIL condizione

  6. . Notare anche la seconda riga che "dichiara" la variabile. Puoi aggiungere variabili al tuo codice per un uso successivo. Le variabili fungono da valori temporanei nel codice. Infine, considera la dichiarazione della funzione come BOOLEAN, che è un tipo di dati che consente solo valori TRUE o FALSE. Questo metodo per determinare i numeri primi è tutt'altro che ottimale, ma il codice è stato scritto in modo tale da essere facile da leggere.
  7. Per blocco (to), che esegue una certa quantità di codice. Come esempio:
  8. Fattoriale della funzione pubblica (valore come intero) As Long

    Dim risultati quanto più a lungo

    Dim i As Integer

    Se valore = 0 Allora

    risultato = 1

    ElseIf valore = 1 Allora

    risultato = 1

    Altro

    risultato = 1

    Per i = 1 Al valore

    risultato= risultato * i

    Prossimo

    Finisci se

    Fattoriale = risultato

    Fine funzione

    Guarda di nuovo gli elementi:

    FOR variabile = limite inferiore TO limite superiore del codice NEXT

    . Si noti inoltre l'elemento ElseIf aggiuntivo nell'istruzione If, che consente di aggiungere più opzioni al codice in esecuzione. Infine, considera la funzione e la variabile "risultato" dichiarate come Long. Il tipo di dati Long consente valori molto più grandi di Integer.

    Di seguito è mostrato il codice di una funzione che converte piccoli numeri in parole.

    Crea una funzione definita dall'utente in Microsoft Excel Passaggio 6
    Crea una funzione definita dall'utente in Microsoft Excel Passaggio 6

    Passaggio 6. Tornare alla cartella di lavoro e utilizzare la funzione scrivendo il simbolo "uguale" (=) seguito dal nome della funzione nella cella

    Scrivi le parentesi aperte (“(“) dopo il nome della funzione, usando il segno coma per separare i parametri e terminare con le parentesi quadre (“)”). Come esempio:

    =NumeroALettera(A4)

    . Puoi anche usare le formule fatte in casa cercandole nelle categorie Definito dall'utente all'interno dell'opzione Inserisci formula. Basta fare clic sul pulsante Fx a sinistra della barra della formula. Esistono tre tipi di moduli di parametro nelle funzioni:

    1. Un valore costante digitato direttamente nella formula della cella. In questo caso, il testo (stringa) deve essere citato.
    2. Riferimenti di cella, ad esempio B6 o gamma come LA1: do3 (il parametro deve essere il tipo di dati “Intervallo”)
    3. Un'altra funzione racchiusa nella tua funzione (la tua funzione può anche essere racchiusa in un'altra funzione), ad esempio: =Factorial(MAX(D6:D8))

      Crea una funzione definita dall'utente in Microsoft Excel Passaggio 7
      Crea una funzione definita dall'utente in Microsoft Excel Passaggio 7

      Passaggio 7. Assicurati che i risultati siano corretti

      Usalo più volte per assicurarti che la funzione sia in grado di gestire correttamente i vari valori dei parametri:

      Suggerimenti

      • Quando scrivi blocchi di codice in strutture di controllo come If, For, Do, ecc., assicurati di indentare (inserire il bordo della riga sinistra leggermente all'interno) del blocco di codice premendo più volte la barra spaziatrice o tab. Ciò renderà il codice più facile da capire e gli errori saranno molto più facili da trovare. Inoltre, l'aumento della funzionalità diventa più facile da realizzare.
      • Se non sai come scrivere il codice per le funzioni, leggi l'articolo Come scrivere una macro semplice in Microsoft Excel.
      • A volte, le funzioni non necessitano di tutti i parametri per calcolare il risultato. In questo caso, è possibile utilizzare la parola chiave Optional prima del nome del parametro nell'intestazione della funzione. È possibile utilizzare la funzione IsMissing(parameter_name) nel codice per determinare se a un parametro è assegnato o meno un valore.
      • Usa nomi non utilizzati come funzioni in Excel in modo che nessuna funzione venga sovrascritta ed eliminata.
      • Excel ha molte funzioni integrate e la maggior parte dei calcoli può essere eseguita utilizzando queste funzioni integrate, singolarmente o tutte in una volta. Assicurati di dare un'occhiata all'elenco delle funzioni disponibili prima di iniziare a programmare da solo. L'esecuzione può essere eseguita più velocemente se si utilizzano le funzioni integrate.

      Avvertimento

      • Per motivi di sicurezza, molte persone disabilitano le macro. Assicurati di informare i destinatari della cartella di lavoro che la cartella di lavoro inviata contiene macro e che queste macro non danneggeranno i loro computer.
      • La funzione utilizzata in questo articolo non è il modo migliore per risolvere il problema correlato. L'esempio viene utilizzato per spiegare l'uso delle strutture di controllo del linguaggio.
      • VBA, come altri linguaggi, ha diverse altre strutture di controllo oltre a Do, If e For. La struttura discussa qui descrive solo cosa può essere fatto nel codice sorgente della funzione. Ci sono molte guide su Internet che possono essere utilizzate per aiutarti a imparare VBA.

Consigliato: