Aggiunta di funzioni personalizzate in Excel

Stampa
( 2 Votes ) 
Valutazione attuale:  / 2
ScarsoOttimo 
Categoria: Informatica
Data pubblicazione
Scritto da Magellano Visite: 5518

Aggiunta di funzioni personalizzate in Excel

Come aggiungere nuove funzioni a quelle già numerosissime di Excel  


Excel è uno strumento di calcolo (e non solo) molto sofisticato che ha numerosissime funzioni predefinite, raccolte in una decina di gruppi a seconda della tipologia: matematiche, statistiche, finanziarie, per i database, di ricerca, logiche, per la formattazione di date ed ore, ecc. L'ultimo gruppo di funzioni si chiama 'Definite dall'utente' e contiene già una funzione chiamata Euroconvert, che è quella che appartiene al modulo VBA Eurotool (già citato in una precedente lezione), probabilmente inserito nella versione europea di Excel per le conversioni di valuta. Il modulo non è accessibile in quanto protetto da password.


A tutte queste funzioni predefinite ne possiamo aggiungerne altre definite da noi nel gruppo di funzioni 'Definite dall'utente'.
Per fare questo basta andare nell'editor del VBA ed inserire una Function.
La Function è una particolare routine con qualche differenza rispetto alla Sub: quest'ultima restituisce un'azione su valori o oggetti della cartella di lavoro (celle, fogli, pulsanti, ecc.) o esterni (ad es. file), a partire da determinati parametri che possono anche mancare; la Function invece restituisce un valore ad una variabile che ha il nome della routine stessa, sempre a partire da parametri che possono anche mancare: ad esempio, la funzione predefinita PI.GRECO() non ha parametri, mentre la funzione QUADRATO(...), che restituisce il quadrato di un numero, ha un parametro, la funzione POTENZA ha due parametri, base ed esponente della potenza stessa, ecc.
Proviamo ad inserire una semplicissima funzione definita da noi che chiameremo CUBO:
Apriamo l'editor del VBA di una cartella di lavoro ed inseriamo il codice seguente:
Function CUBO(Base As Integer) As Integer
CUBO = Base * Base * Base
End Function
La function deve ovviamente contenere al suo interno un'assegnazione del suo valore.
Ora proviamo ad inserire dei valori in alcune celle della colonna A e una formula nelle celle della colonna B. Posizioniamoci nella prima cella interessata della colonna B.
Apriamo il menù Inserisci/Funzione... e cerchiamo la nostra funzione tra quelle definite dall'utente.
Come parametro gli diamo il riferimento alla cella alla sua sinistra contenente il valore della base. Trasciniamo il rettangolino per il riempimento automatico oppure facciamo il Copia & Incolla della formula nelle altre celle.
Si noti che nel caso di valori non interi della base, Excel automaticamente arrotonda tale valore. Se vogliamo che il cubo venga calcolato per qualunque valore non intero, basta sostituire la parola Integer (intero) con Double (valore decimale in precisione doppia, si vedano i tipi di dati nella guida del VBA, che dev'essere installata; ne riparleremo in una prossima lezione).
Salvando la cartella di lavoro, essa conterrà questa funzione aggiuntiva. All'avvio occorrerà attivare le macro.
Se vogliamo che la funzione possa essere utilizzata in tutte le nuove cartelle di lavoro che verranno create, occorre salvare la Function in un modello che si chiama PERSONAL.XLs:
attiviamo il registratore di macro, selezioniamo per Memorizza macro in: Cartella macro personale, salviamo e arrestiamo il registratore. Riapriamo quindi l'editor del VBA e nel pannello a sinistra cerchiamo la macro all'interno del modulo1 della cartella PERSONAL.XLS; questo è ovviamente vuoto; al suo interno ci copiamo la nostra Function e salviamo.
Da questo momento potremo inserire la nostra nuova funzione in ogni cartella che apriremo.

Joomla 1.7 Templates designed by College Jacke