Come creare una funzione definita dall'utente in Microsoft Excel

Autore: Alice Brown
Data Della Creazione: 4 Maggio 2021
Data Di Aggiornamento: 15 Maggio 2024
Anonim
Come creare una funzione definita dall'utente in Microsoft Excel - Enciclopedia
Come creare una funzione definita dall'utente in Microsoft Excel - Enciclopedia

Contenuto

Anche se Excel ha molte, probabilmente centinaia di funzioni integrate come SOMMA, CERCA.VERT, SINISTRA e così via, quando inizi a utilizzare Excel per attività più complicate, spesso scopri che hai bisogno di una funzione che non esiste. Non preoccuparti, non tutto è perduto; tutto ciò che serve è creare la funzione desiderata.

Passi

  1. Crea una nuova cartella di lavoro o apri la cartella di lavoro in cui desideri utilizzare la funzione definita dall'utente (FDU) appena creata.

  2. Apri l'editor di Visual Basic che è integrato in Microsoft Excel andando su Strumenti-> Macro-> Visual Basic Editor (o premendo Alt + F11).

  3. Aggiungi un nuovo modulo alla cartella di lavoro facendo clic sul pulsante indicato. È possibile creare la funzione definita dall'utente sul foglio di lavoro stesso senza aggiungere un nuovo modulo, ma ciò ti impedirà di utilizzarlo su altri fogli di lavoro nella stessa cartella di lavoro.

  4. Crea l '"intestazione" o il "prototipo" della tua funzione. Devi avere la seguente struttura: funzione pubblica TheNameOfYourFunction (param1 As type1, param2 As type2) As returnType Possono esserci tutti i parametri desiderati e il loro tipo può essere uno qualsiasi dei tipi di dati di base o tipi di oggetti Excel come Range. Puoi pensare ai parametri come agli "operandi" su cui agirà la tua funzione. Ad esempio, quando dici SIN (45) per calcolare il seno di 45 gradi, 45 verrà preso come parametro. Quindi, il codice della funzione utilizzerà questo valore per eseguire alcuni calcoli e presentare il risultato.
  5. Aggiungi il codice della funzione, assicurandoti che: 1) utilizzare i valori forniti dai parametri; 2) assegnare il risultato al nome della funzione; e 3) chiudere la funzione con "end function". Imparare a programmare in VBA o in qualsiasi altro linguaggio può richiedere del tempo e richiedere un tutorial dettagliato. Tuttavia, le funzioni spesso hanno piccoli blocchi di codice e utilizzano poche risorse linguistiche. Gli elementi più utili del linguaggio VBA sono:
    1. Il blocco Se, che consente di eseguire una parte del codice solo se viene soddisfatta una condizione. Per esempio:


      Funzione pubblica CourseResult (grid As Integer) As String
      Se voto> = 5 Allora
      CourseResult = "Approvato"
      Altro
      CourseResult = "Rifiutato"
      Finisci se
      Fine funzione

      Notare gli elementi in un blocco di codice Se: IF condizione THEN codice ELSE codice END IF. La parola chiave Altro insieme alla seconda parte del codice sono opzionali.
    2. Il blocco Di, che esegue una parte di codice Mentre (mentre) o Fino a (fino a quando) una condizione è soddisfatta. Per esempio:

      Funzione pubblica IsPrime (valore As Integer) As Boolean
      Dim i As Integer
      io = 2
      IsPrime = True
      Di
      Se valore / i = Int (valore / i) Allora
      IsPrime = False
      Finisci se
      io = io + 1
      Loop While i <value And IsPrime = True
      Fine funzione

      Guarda di nuovo gli elementi: DO codice LOOP WHILE / UNTIL condizione. Notare anche la seconda riga in cui una variabile è "dichiarata". Puoi aggiungere variabili al tuo codice, in modo da poterle utilizzare in seguito. Le variabili agiscono come valori temporanei all'interno del codice. Infine, guarda la dichiarazione della funzione come BOOLEAN, che è un tipo di dati che consente solo i valori TRUE e FALSE. Questo metodo per determinare se un numero è primo non è l'ideale, ma preferisco lasciarlo così per rendere il codice più facile da leggere.
    3. Il blocco Per, che esegue un pezzo di codice un numero di volte specificato. Per esempio:

      Fattoriale di funzione pubblica (valore As Integer) As Long
      Risultato fioco As Long
      Dim i As Integer
      Se valore = 0 Allora
      risultato = 1
      ElseIf valore = 1 Allora
      risultato = 1
      Altro
      risultato = 1
      Per i = 1 To value
      risultato = risultato * i
      Il prossimo
      Finisci se
      Fattoriale = risultato
      Fine funzione

      Guarda di nuovo gli elementi:FOR variabile = limite inferiore AL codice limite superiore NEXT. Notare anche l'elemento ElseIf aggiunto nella dichiarazione Se, che ti consente di aggiungere più opzioni per il codice da eseguire. Infine, guarda la dichiarazione della funzione e la variabile "risultato" come Lungo. Il tipo di dati Lungo consente valori molto più alti di "Integer".

      Di seguito è riportato il codice per una funzione che converte i numeri in parole.
  6. Torna alla tua cartella di lavoro e usa la funzione iniziando il contenuto di una cella con a pari seguito dal nome del tuo ruolo. Aggiungi una parentesi aperta al nome della funzione, i parametri separati da virgola e un'ultima parentesi di chiusura. Per esempio:= NumberToLetters (A4) È inoltre possibile utilizzare la formula definita dall'utente cercandola nella categoria Definito dall'utente nella procedura guidata per inserire la formula. Basta fare clic sul pulsante Fx situato a sinistra della barra della formula. I parametri possono essere di tre tipi:
    1. Valori costanti inseriti direttamente nella formula della cella. Le stringhe devono essere racchiuse tra virgolette in questo caso.
    2. Riferimenti di cella come B6 o intervalli come A1: C3 (il parametro deve essere di tipo Rompere"")
    3. Altre funzioni organizzate all'interno della tua funzione (la tua funzione può anche essere raggruppata all'interno di altre funzioni). Cioè: = Fattoriale (MAX (D6: D8))
  7. Controlla se il risultato è OK dopo aver utilizzato più volte la funzione assicurarsi che gestisca correttamente i diversi valori dei parametri:

Suggerimenti

  • Ogni volta che scrivi un blocco di codice all'interno di una struttura di controllo come If, ​​For, Do ecc., Ricorda di far rientrare il blocco usando alcuni spazi o tabulazioni (lo stile di indentazione dipende da te).In questo modo il tuo codice sarà più facile da capire e sarà molto più facile rilevare gli errori e migliorare il codice.
  • Excel ha molte funzioni integrate e la maggior parte dei calcoli può essere eseguita utilizzandole da sole o in combinazione. Cerca nell'elenco delle funzioni disponibili prima di iniziare il tuo codice. L'esecuzione può essere più veloce se si utilizzano funzioni incorporate.
  • A volte, una funzione potrebbe non richiedere tutti i parametri per calcolare un risultato. In questo caso, puoi utilizzare la parola chiave Opzionale prima del nome del parametro nell'intestazione della funzione. Puoi usare il file IsMissing (nome_parametro) all'interno del codice per determinare se un valore è stato assegnato o meno al parametro.
  • Se non sai come scrivere il codice per una funzione, leggi Come scrivere una semplice Macro in Microsoft Excel.
  • Usa un nome che non è ancora definito come nome di funzione in Excel, altrimenti finirai per essere in grado di utilizzare solo una delle funzioni.

Avvertenze

  • A causa delle misure di sicurezza, alcune persone potrebbero disabilitare le macro. Fai sapere ai tuoi colleghi che il libro che stai inviando ha delle macro e può essere considerato attendibile poiché non danneggeranno i tuoi computer.
  • Le funzioni utilizzate in questo articolo non sono il modo migliore per risolvere i problemi citati. Sono stati usati solo per spiegare l'uso delle strutture di controllo del linguaggio.
  • VBA, come qualsiasi altro linguaggio, ha molte altre strutture di controllo oltre a Do, If e For. Questi sono stati spiegati qui solo per chiarire cosa si può fare all'interno del codice sorgente della funzione. Sono disponibili molti tutorial online in cui puoi imparare VBA.

è un wiki, il che ignifica che molti articoli ono critti da diveri autori. Per creare queto articolo, 9 perone, alcune anonime, hanno partecipato alla ua edizione e al uo miglioramento nel tempo...

Come disegnare lettere di graffiti

Louise Ward

Maggio 2024

In queto articolo: imple GraffitiComplex GraffitiReference I graffiti ono un'arte oggi, ebbene i graffiti iano un modo per i gangter di ditinguere il loro territorio. Impara pao dopo pao come dieg...

Più Dettagli