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) Dal pulsante f
x
aprire la finestra Inserisci funzione
2) Selezionare la categoria Definite dallutente
3) 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) Fare clic in un punto qualsiasi del modulo
b) 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.

Potrebbero piacerti anche