Come creare una funzione definita dall'utente in Microsoft Excel

Sommario:

Come creare una funzione definita dall'utente in Microsoft Excel
Come creare una funzione definita dall'utente in Microsoft Excel

Video: Come creare una funzione definita dall'utente in Microsoft Excel

Video: Come creare una funzione definita dall'utente in Microsoft Excel
Video: Introduction to the Linux ELF file. 2024, Aprile
Anonim

Microsoft Excel ha molte funzioni integrate, come SOMMA, CERCA. VERT e SINISTRA. Quando inizi a utilizzare Excel per attività più complicate, potresti scoprire di aver bisogno di una funzione che non esiste. È qui che entrano in gioco le funzioni personalizzate! Questo articolo spiega come creare le tue funzioni in Microsoft Excel.

Passi

259250 1
259250 1

Passaggio 1. Aprire una cartella di lavoro di Excel

Fare doppio clic sulla cartella di lavoro in cui si desidera utilizzare la funzione personalizzata per aprirla in Excel.

259250 2
259250 2

Passo 2. Premi Alt+F11 (Windows) o Fn+⌥ Opt+F11 (Mac).

Questo apre l'editor di Visual Basic.

259250 3
259250 3

Passaggio 3. Fare clic sul menu Inserisci e selezionare Nuovo modulo

Questo apre una finestra del modulo nel pannello di destra dell'editor.

È possibile creare la funzione definita dall'utente nel foglio di lavoro stesso senza aggiungere un nuovo modulo, ma ciò non consentirà di utilizzare la funzione in altri fogli di lavoro della stessa cartella di lavoro

259250 4
259250 4

Passaggio 4. Crea l'intestazione della tua funzione

La prima riga è dove nominerai la funzione e definirai il nostro intervallo. Sostituisci "FunctionName" con il nome che desideri assegnare alla tua funzione personalizzata. La funzione può avere tutti i parametri desiderati e i loro tipi possono essere dati di base o tipi di oggetti di Excel come Intervallo:

Funzione NomeFunzione (param1 As type1, param2 As type2) As return Type

Potresti pensare ai parametri come agli "operandi" su cui agirà la tua funzione. Ad esempio, quando si utilizza SIN(45) per calcolare il seno di 45 gradi, 45 verrà preso come parametro. Quindi il codice della tua funzione utilizzerà quel valore per calcolare qualcos'altro e presentare il risultato

259250 5
259250 5

Passaggio 5. Aggiungi il codice della funzione

Assicurati di utilizzare i valori forniti dai parametri, assegna il risultato al nome della funzione e chiudi la funzione con "End Function". Imparare a programmare in VBA o in qualsiasi altra lingua può richiedere del tempo e un tutorial dettagliato. Tuttavia, le funzioni di solito hanno piccoli blocchi di codice e utilizzano pochissime funzionalità del linguaggio. Alcuni elementi utili sono:

  • Il blocco If, che consente di eseguire una parte del codice solo se viene soddisfatta una condizione. Notare gli elementi in un blocco di codice If: IF condizione THEN codice ELSE codice END IF. La parola chiave Else insieme alla seconda parte del codice sono facoltative:

    Funzione Risultato del corso (voto come numero intero) As String If grade >= 5 Then CourseResult = "Approvato" Else CourseResult = "Rifiutato" End If End Funzione

  • Il blocco Do, che esegue una parte del codice While o Until una condizione è soddisfatta. Nel codice di esempio seguente, notare gli elementi DO code LOOP WHILE/UNTIL condition. Notare anche la seconda riga in cui viene dichiarata una variabile. Puoi aggiungere variabili al tuo codice in modo da poterle utilizzare in seguito. Le variabili agiscono come valori temporanei all'interno del codice. Infine, si noti la dichiarazione della funzione come BOOLEAN, che è un tipo di dati che consente solo i valori VERO e FALSO. Questo metodo per determinare se un numero è primo non è di gran lunga ottimale, ma l'ho lasciato così per rendere il codice più facile da leggere.

    Funzione IsPrime(value As Integer) As Boolean Dim i As Integer i = 2 IsPrime = True Do If value / i = Int(value / i) Then IsPrime = False End If i = i + 1 Loop Mentre i < value And IsPrime = Funzione True End

  • Il blocco For esegue una parte del codice un numero specificato di volte. In questo prossimo esempio, vedrai gli elementi FOR variabile = limite inferiore TO codice limite superiore NEXT. Vedrai anche l'elemento ElseIf aggiunto nell'istruzione If, che ti consente di aggiungere più opzioni al codice che deve essere eseguito. Inoltre, la dichiarazione della funzione e la variabile risultano come Long. Il tipo di dati Long consente valori molto più grandi di Integer:

    Public Function Factorial(value As Integer) As Long Dim result As Long Dim i As Integer If value = 0 Then result = 1 ElseIf value = 1 Then result = 1 Else result = 1 For i = 1 To value result = result * i Next End If Factorial = risultato End Function

259250 6
259250 6

Passaggio 6. Chiudere l'editor di Visual Basic

Una volta creata la funzione, chiudi la finestra per tornare alla cartella di lavoro. Ora puoi iniziare a utilizzare la tua funzione definita dall'utente.

259250 7
259250 7

Passaggio 7. Inserisci la tua funzione

Innanzitutto, fai clic sulla cella in cui desideri inserire la funzione. Quindi, fai clic sulla barra delle funzioni nella parte superiore di Excel (quella con la fx alla sua sinistra) e digita =FUNCTIONNAME(), sostituendo FUNCTIONNAME con il nome che hai assegnato alla tua funzione personalizzata.

Puoi anche trovare la tua formula definita dall'utente nella categoria "Definito dall'utente" nel Inserisci formula procedura guidata: basta fare clic sull'fx per visualizzare la procedura guidata.

259250 8
259250 8

Passaggio 8. Immettere i parametri tra parentesi

Ad esempio, =NumberToLetters(A4). I parametri possono essere di tre tipi:

  • Valori costanti digitati direttamente nella formula della cella. Le stringhe devono essere citate in questo caso.
  • Riferimenti di cella come B6 o riferimenti di intervallo come A1:C3. Il parametro deve essere del tipo di dati Range.
  • Altre funzioni annidate all'interno della tua funzione. La tua funzione può anche essere annidata all'interno di altre funzioni. Esempio: =Factorial(MAX(D6:D8)).
259250 9
259250 9

Passaggio 9. Premere Invio o ⏎ Ritorna per eseguire la funzione.

I risultati verranno visualizzati nella cella selezionata.

Video - Utilizzando questo servizio, alcune informazioni potrebbero essere condivise con YouTube

Suggerimenti

  • Usa un nome che non è già definito come nome di funzione in Excel o finirai per essere in grado di utilizzare solo una delle funzioni.
  • Ogni volta che scrivi un blocco di codice all'interno di una struttura di controllo come If, For, Do, ecc., assicurati di indentare il blocco di codice utilizzando alcuni spazi vuoti o il tasto Tab. Ciò renderà il tuo codice più facile da capire e troverai molto più facile individuare gli errori e apportare miglioramenti.
  • Se non sai come scrivere il codice per una funzione, vedi Come scrivere una macro semplice in Microsoft Excel.
  • Una funzione potrebbe non richiedere tutti i parametri per calcolare un risultato. In tal caso è possibile utilizzare la parola chiave Optional prima del nome del parametro nell'intestazione della funzione. È possibile utilizzare IsMissing(parameter_name) all'interno del codice per determinare se al parametro è stato assegnato un valore o meno.
  • Excel ha molte funzioni integrate e la maggior parte dei calcoli può essere eseguita utilizzandole indipendentemente o in combinazione. Assicurati di esaminare l'elenco delle funzioni disponibili prima di iniziare a codificare le tue. L'esecuzione può essere più veloce se si utilizzano le funzioni integrate.

Avvertenze

  • Le funzioni utilizzate in questo articolo non sono affatto il modo migliore per risolvere i problemi correlati. Sono stati usati qui solo per spiegare l'uso delle strutture di controllo della lingua.
  • VBA, come qualsiasi altro linguaggio, ha diverse altre strutture di controllo oltre a Do, If e For. Questi sono stati spiegati qui solo per chiarire che tipo di cose possono essere fatte all'interno del codice sorgente della funzione. Ci sono molti tutorial online disponibili dove puoi imparare VBA.
  • A causa delle misure di sicurezza, alcune persone potrebbero disabilitare le macro. Assicurati di far sapere ai tuoi colleghi che il libro che stai inviando loro contiene macro e che possono fidarsi che non danneggeranno i loro computer.

Consigliato: