|
La domanda di oggi è: Si possono creare delle formule personalizzate in exce e renderle disponibili negli altri file?
Risposta:
Una comoda funzionalità di Excel è quella di permettere all'utente di definire forumule personalizzate che vanno ad ampliare il già nutrito parco di forumule presenti di default. Le formule definite dall'utente di norma sono visibili solo all'interno del file excel dove sono state scritte, ma esistono almeno 3 metodi per far si che una formula scritta in un file sia disponibile in tutti i futuri file che creeremo.
Creazione della formula
Per creare una formula aggiuntiva in excel avremo bisogno di scrivere un pò di codice vba...se siete proprio all'asciutto di programmazione vi consiglio questo sito a mio avviso alcuni lavori che sono presentati sono degli "esercizi di stile" perchè con altri linguaggi/software si sarebbero potuti realizzare meglio e con minor sforzo, ma restano comunque degli ottimi esempi di programmazione, inoltre hanno il compito di sbalordire chi usa excel solo come "quaderno a quadretti"
Supponiamo quindi di voler creare una nostra formula personalizzata, apriamo excel, poi aprimo l'editor da "strumenti->macro->visual basic editor" oppure premendo ALT+F11
Selezioniamo il nostro file dall'elenco a sinistra ( Progetto - VBAprojet(nomefile) ) poi dal menù "inserisci" scegliamo "modulo".
Adesso siamo pronti per scrivere il codice della nostra formula personalizzata. Per questo esempio scriviamo una funzione (inutile) che calcola dil doppio del valore passato in input :) scriviamo quindi
Function doppio(myval) doppio = myval * 2 End Function
Adesso in una qualsiasi cella del nostro foglio possiamo scrivere " = doppio(a1)"
Rendere visibile la formula
Ci sono almeno 3 metodi per rendere utilizzabile la formula che abbiamo appena scritto in tutti i documenti excel, vediamoli in ordine
1) Produzione di un Add-in
Basta salvare il file dove abbiamo scritto la formula come "componente aggiuntivo per excel *.xla" (è l'ultimo formato disponibile nella finestra di "salva con nome")
Chi vorrà utilizzare poi la nostra formula, dovrà caricare il componente che noi abbiamo prodotto tramite il menù "strumenti->componenti aggiuntivi" cliccando sul pulsante "sfoglia" e selezinando il file *.xla da noi prodotto.
2) Creazione nel file personal.xls (grazie a Mauro Gamberini per il suggerimento )
Se non hai il file personal.xls, per crearlo: Strumenti-->Macro-->Registra nuova macro In Memorizza macro in seleziona: Cartella macro personale Ok Interrompi la registrazione. ALT+F11 e in Progetto-VbaProject dovresti vedere gli oggetti di PERSONAL.XLS.
Adesso che abbiamo il nostro file PERSONAL.XLS nell'elenco dei progetti possiamo copia-incollare la nostra funzione nel suo modulo...sotto la macro che è stata create.
Attenzione, adesso per poter usare la formula, che sarà utilizzabile solo dal nostro computer, dobbiamo inserire nella cella il riferimento, in questo modo " = personal.xls!doppio(a1) "
3) Creazione di un file xls
L'ultima alternativa..da usare quando si deve distribuire una funzione è quella di distribuire il file *.xls dove abbiamo scritto la formula però con le seguenti limitazioni:
- Nella cella dobbiamo inserire il riferimento al file xls in questo modo " =nome_file.xls!doppio(a1) "
- Il file *.xls deve essere aperto per poter usare le formule.
Benchè possa sembrare farraginoso, il terzo metodo è comodo quando si a che fare con gente non proprio esperta...perchè tutte le istruzioni da dare si limitano a "apri prima questo file e poi quest'altro" inoltre nel file con la formula possiamo inserire del testo nel foglio1 tipo "questo file contiene delle funzioni, non scrvere nulla"
quot erat demonstrandum :)
|