Crea la tua funzione in excel

Anche se Excel ha molte, forse centinaia di funzioni integrate, come SUM, VERT.RICERCA, LINK, ecc. tuttavia scoprirai che una volta che inizi a utilizzare Excel per attività più complicate avrai spesso bisogno di una funzione che non esiste. Non preoccuparti, il salvataggio è vicino. Tutto quello che devi fare è creare tu stesso una funzione.

Passi

Immagine intitolata Crea una funzione definita dall`utente in Microsoft Excel Step 1
1. Crea una nuova cartella di lavoro o apri la cartella di lavoro in cui desideri utilizzare la nuova funzione definita dall`utente (UDF).
Immagine intitolata Crea una funzione definita dall`utente in Microsoft Excel Step 2
2. Apri l`editor di Visual Basic che è integrato in Microsoft Excel, andando su Strumenti->macro->Vai a Visual Basic Editor (o premendo Alt+F11).
Immagine intitolata Crea una funzione definita dall`utente in Microsoft Excel Step 3
3. Aggiungi un nuovo modulo alla cartella di lavoro, premendo il pulsante in basso. Puoi creare l`UDF nella cartella di lavoro stessa senza aggiungere un nuovo modulo, ma in questo modo non è possibile utilizzare la funzione in un altro foglio di lavoro della stessa cartella di lavoro.
Immagine intitolata Crea una funzione definita dall`utente in Microsoft Excel Step 4
4. Crea l`intestazione o il prototipo della tua funzione. Dovrebbe avere la seguente struttura:

funzione pubblica "Il nome della funzione" (param1 Tipo di asse1, param2 Tipo di asse 2 ) Tipo restituito dall`asse Questo può avere tutti i parametri che ritieni necessari e puoi utilizzare qualsiasi tipo di dati Excel standard o tipo di oggetto per esso, come Intervallo. Puoi pensare ai parametri come agli operatori a cui risponderà la tua funzione. Ad esempio, se si compila SIN(45) per calcolare il seno di 45 gradi, 45 è il parametro. Il codice della tua funzione utilizzerà quindi quel valore per calcolare la funzione e presentarne il risultato.
Immagine titolata Crea una funzione definita dall`utente in Microsoft Excel Step 5
5. Aggiungi il codice della funzione, assicurandoti di 1) utilizzare i valori dei parametri; 2) assegnare il risultato al nome della funzione; e 3) uscire dalla funzione con `fine funzione`.Imparare a programmare, sia in VBA che in qualsiasi altro linguaggio di programmazione, richiede tempo e informazioni più dettagliate e complete. Ma alcune funzioni sono costituite da piccoli blocchi di codice e utilizzano solo una piccola parte di un linguaggio di programmazione. Gli elementi più utili di VBA sono:
  • Esso Se-block, che esegue parte del codice quando viene soddisfatta una condizione. Ad esempio:


    Risultato del corso di funzione pubblica (grado come intero) As String
    se grado >= 5 Allora
    Risultato del corso = "Approvato"
    Altro
    Risultato del corso = "respinto"
    Finisci se
    Funzione finale


    Prestare attenzione alle parti di a Se-blocco di codice: IF condizione THEN codice ELSE codice END IF. La condizione Altro e la seconda parte del codice sono facoltative.
  • Esso Fare-block, che esegue parte del codice fintanto che (mentre) o fino a (Fino a) è soddisfatta una determinata condizione. Ad esempio:

    Funzione pubblica IsPrime(valore As Integer) As Boolean
    Dim i come intero
    io = 2
    IsPrime = Vero
    Fare
    Se valore / i = Int(valore / i) Allora
    IsPrime = Falso
    Finisci se
    io = io + 1
    Cammina mentre i < valore E IsPrime = True
    Funzione finale


    Notare di nuovo le parti: DO codice LOOP WHILE/UNTIL condizione. Notare anche la seconda riga in cui viene dichiarata la variabile. Puoi assegnare variabili al tuo codice da utilizzare in seguito. Le variabili si comportano come valori temporanei all`interno del codice. Infine, si noti la dichiarazione della funzione come BOOLEAN, un tipo di dati che può essere solo TRUE o FALSE (true o false). Questo metodo per determinare se un numero è primo è tutt`altro che ottimale, ma è scritto per rendere il codice più facile da leggere.
  • Esso per-bloccare, con cui si esegue più volte parte del codice. Ad esempio:

    Fattoriale di funzione pubblica (valore come intero) As Long
    Risultato fioco Finché
    Dim i come intero
    Se valore = 0 Allora
    risultato = 1
    ElseIf valore = 1 Allora
    risultato = 1
    Altro
    risultato = 1
    Per i = 1 Per valutare
    risultato = risultato * i
    Prossimo
    Finisci se
    Fattoriale = risultato
    Funzione finale


    Anche in questo caso, prestare attenzione alle diverse parti:FOR variabile = limite inferiore TO codice limite superiore NEXT. Notare anche il nuovo ElseIf parte nel Se-istruzione, che consente di aggiungere più opzioni al codice da eseguire. Infine, prestare attenzione alla dichiarazione della funzione e della variabile "risultato" Se polmone. Esso polmone-tipo di dati consente valori molto più grandi di a Numero intero.

    Di seguito è mostrato il codice per una funzione che converte piccoli numeri in parole.
    Immagine intitolata Crea una funzione definita dall`utente in Microsoft Excel Step 6
  • 6. Torna alla tua cartella di lavoro e usa questa funzione iniziando il contenuto di una cella con a è uguale-segno, seguito dal nome della tua posizione. Posizionare una parentesi aperta dopo il nome della funzione, separare i parametri l`uno dall`altro virgole e poi una parentesi chiusa. Ad esempio:

    =NumeroInLettere(A4)

    Puoi anche scegliere la formula fatta in casa cercandola nella categoria Definito dall`utente nella procedura guidata di inserimento della funzione. Basta fare clic sul pulsante fx sul lato sinistro della barra della formula.I parametri possono essere di tre tipi:
  • I valori costanti vengono digitati direttamente nella formula della cella. Le stringhe devono essere racchiuse tra virgolette in questo caso.
  • Riferimenti di celle come B6 o raggiungere, come A1:C3 (il parametro deve essere di tipo dati gamma sono)
  • Altre funzioni chiamate all`interno della tua funzione (la tua stessa funzione può anche essere chiamata all`interno di altre funzioni). Ad esempio: =Fattore(MAX(D6:D8))
    Immagine titolata Crea una funzione definita dall`utente in Microsoft Excel Step 7
    7. Verificare il risultato applicando più volte la funzione per assicurarsi che i valori nei parametri siano applicati correttamente:

    Consigli

  • Quando si utilizza un blocco di codice all`interno di un albero di controllo, come If, ​​For, Do, ecc., assicurati di far rientrare il blocco usando alcuni spazi o il pulsante Tab (lo stile del rientro dipende da te). Ciò rende il codice più facile da capire e molto più facile da eseguire il debug e apportare miglioramenti.
  • Se non sai come scrivere il codice per una funzione, leggi l`articolo Scrivi una semplice macro in Excel.
  • A volte non tutti i parametri sono necessari per calcolare il risultato di una funzione. In tal caso è possibile utilizzare la parola chiave Opzionale posizionare prima del nome del parametro nell`intestazione della funzione. Puoi usare la funzione mancante(nome_parametro) all`interno del codice per determinare se un parametro è assegnato o meno a un valore.
  • Usa un nome che non è stato utilizzato prima in Excel per definire un nome di funzione, altrimenti finirai per utilizzare solo una delle funzioni.
  • Excel ha molte funzioni integrate e la maggior parte dei calcoli può essere eseguita utilizzandole separatamente o in combinazione. Prima di iniziare a codificare le proprie funzioni, scorrere l`elenco delle funzioni disponibili. Le funzioni integrate potrebbero essere più veloci.
  • Avvertenze

    • Per motivi di sicurezza, gli utenti a volte disabilitavano le macro. Assicurati di far sapere ai tuoi colleghi che la cartella di lavoro che invii contiene macro e che possono essere sicuri che non danneggerà i loro computer.
    • Le funzionalità di questo articolo non sono affatto il modo migliore per risolvere i problemi correlati. Hanno solo lo scopo di dimostrare l`uso dei controlli della lingua.
    • Come qualsiasi altro linguaggio di programmazione, VBA ha tonnellate di controlli diversi da Do, If e For. Menzionati sono spiegati qui solo per spiegare quali possibilità ci sono all`interno del codice sorgente della funzione. Ci sono molti tutorial online per imparare VBA.

    Condividi sui social network: