Sei sulla pagina 1di 6

Creare una funzione personalizzata in Excel

maggio 10th, 2012 | 24 Comments

In Excel esistono un gran numero di funzioni predefinite, appartenenti a diverse categorie: matematiche, logiche, statistiche, finanziarie etc Le funzioni sono formule che eseguono calcoli utilizzando argomenti (i dati) in un ordine o struttura particolare che rappresenta la sintassi della funzione. Tutte le funzioni devono essere precedute dal segno =e sono caratterizzate da: Nome Argomenti, racchiusi tra parentesi tonde e separati da un ;

Nonostante il numero elevato di funzioni, che gi possiede al suo interno, Excel permette allutente di creare delle funzioni proprie, cio formule su misura, utili non solo per eseguire velocemente calcoli ripetitivi ma, soprattutto, utile per scopi didattici, perch la creazione della struttura della formula stimola lalunno ad usare le sue capacit di analisi e di sintesi per lindividuazione degli argomenti e cio delle variabili. La costruzione di tali funzioni avviene nellambiente di progettazione di Visual Basic for Applications (VBA), attivabile direttamente in Excel, ma non necessario conoscere il linguaggio VBA perch la maggior parte delle funzioni pu essere creata senza avere queste conoscenze.

Creare una funzione personalizzata


Nellesempio seguente verr descritta la costruzione della funzioneAreaTrapezio(BaseMinore;BaseMaggiore;Altezza) che utilizzeremo per calcolare larea di un trapezio noti i tre argomenti: Base minore, Base maggiore e altezza. Aprire leditor di Visual Basic

Scheda Sviluppo/Sezione Codice/Pulsante Visual Basic (In alternativa Alt+F11, mentre nelle versioni precedenti Strumenti/Macro/Visual Basic editor

Inserire un modulo

1. Inserisci/Modulo 2. Verr creato il modulo 1, posizionare il cursore nel modulo 1 per attivare il comando Inserisci /Routine

Inserire la nuova funzione

1. Impostare i dati nella finestra Inserisci routine come in figura

Scrivere la Funzione

Public Function AreaTrapezio(BaseMinore, BaseMaggiore, Altezza) AreaTrapezio = ((BaseMinore + BaseMaggiore) * Altezza) / 2 End Function

Tornare ad Excel

1. File/Chiudi e torna a Microsoft Excel 2. Il Modulo 1 viene salvato automaticamente nella cartella di Excel

Utilizzare una funzione personalizzata


Per inserire una funzione personalizzata procedere nel modo seguente: 1) 2) 3) Dal pulsante fx aprire la finestra Inserisci funzione Selezionare la categoria Definite dallutente Scegliere AreaTrapezio

Inserire gli Argomenti della funzione

N.B. Con questa procedura non possibile creare la Guida in linea della funzione

Creare librerie di funzioni esportabili in altri fogli


Immaginiamo di creare nel Modulo1,con la procedura appena descritta, tutte le funzioni per il calcolo delle aree dei poligoni e di volerle rendere disponibili anche in altre cartelle di lavoro, per fare questo procedere nel modo seguente: 1) Aprire leditor di Visual Basic con Alt+F11 2) Rinominare il Modulo1 (il modulo1 pu essere rinominato e salvato come file indipendente dalla cartella di excel e con estensione .bas)

a)

Da Visualizza/Finestra Propriet assegnare il nome AreePoligoni al Modulo1

2) Salvare il modulo in un file indipendente a) b) Fare clic in un punto qualsiasi del modulo File/Esporta file possiamo scegliere se salvare il file nella cartella predefinita Office 12 o crearne una nuova con il

pulsante Crea nuova cartella

a)

File/Chiudi e torna a Microsoft Excel

Come utilizzare le librerie di funzioni


Per utilizzare le librerie di funzioni in altre cartelle di Excel procedere nel modo seguente: Aprire una nuova cartella di Excel Aprire leditor di Visual Basic File/Importa File.. cercare il file salvato con estensione .bas Nellesempio in figura, importiamo il file AREE.bas salvato in una cartella chiamata FUNZIONI UTENTE

Cliccare sul pulsante Apri, quindi utilizzare le funzioni come descritto sopra.