Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

USER DEFINED FUNCTIONS di Excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

USER DEFINED FUNCTIONS di Excel

Postdi Ciao Manu » 02/01/07 10:32

Ciao a tutti,
ho scoperto da poco la possibilità di creare delle funzioni “su misura” per le necessità di ciascun utente, ma ho alcune cose da chiedere in merito e spero che possiate essermi utile:

- quali sono le differenze tra una User Defined Function e una Macro?
- anche le User Defined Functions sono scritte in Visual Basic?

Grazie a chiunque mi risponderà!
Manuela.
Ciao Manu
Newbie
 
Post: 9
Iscritto il: 27/02/06 18:19

Sponsor
 

Postdi Caffey » 02/01/07 12:38

Le USER DEFINED sono funzioni personalizzate proprie di Excel e sono quindi scritte con il linguaggio di programmazione di Excel. Le macro sono invece una cosa che puoi creare dal nulla e che può includere diverse formule, funzioni, formattazioni grafiche etc. e sono scritte in Visual Basic. Se crei una macro in un foglio con il semplice comando registra, puoi verificare che la macro è scritta in Visual, aprendo l'editor (Alt+F11) dal quale puoi anche modificarla da Basic.
Al di sopra dell'onnipotenza divina, si erge il più alto potere della ragione [L. A. Feuerbach]
Avatar utente
Caffey
Moderatore
 
Post: 605
Iscritto il: 30/12/06 15:33
Località: Umbria

Postdi Ciao Manu » 02/01/07 14:26

Ciao, quindi una User Defined Function non si scrive con visual basic?
Ciao Manu
Newbie
 
Post: 9
Iscritto il: 27/02/06 18:19

Postdi Caffey » 02/01/07 15:00

Volendo le puoi scrivere con il Basic ma devi conoscere il linguaggio molto bene. In genere le USER DEFINED vengono utilizzate per riassumere in una una serie di funzioni, ad esempio ci può essere un caso in cui tu abbia bisogno di utilizzare un sacco di funzioni IF per risolvere un problema. In questo caso puoi metterti giù a scrivere e fare in modo che tutte queste funzioni si accorpino in una sola e ti rendano il lavoro più semplice.
Se vai in qesto link c'è un esempio di come creare una User Defined Function. E' solo in inglese, spero che lo capirai ma non ho trovato nient'altro di valido in italiano! Se non conosci bene il Basic ti consiglio di utilizzare le macro, sono più potenti di quanto si possa credere!
Al di sopra dell'onnipotenza divina, si erge il più alto potere della ragione [L. A. Feuerbach]
Avatar utente
Caffey
Moderatore
 
Post: 605
Iscritto il: 30/12/06 15:33
Località: Umbria

Postdi Caffey » 02/01/07 15:06

Scusa ma mi sono dimenticato di mettere il link:
http://articles.techrepublic.com.com/5100-1035_11-5300300.html
Al di sopra dell'onnipotenza divina, si erge il più alto potere della ragione [L. A. Feuerbach]
Avatar utente
Caffey
Moderatore
 
Post: 605
Iscritto il: 30/12/06 15:33
Località: Umbria

Funzioni

Postdi By Sal » 02/01/07 16:26

Ciao, è il mio approcio con il 2007, quindi cerco di iniziare bene, le funzioni possono essere di due tipi, quelle proprie di Excel e quelle definite dall'utente.
Non sono altro che piccoli programmi scritti in VBA che servono ad eseguire un determinato lavoro.
Tali funzioni a volte fanno dei calcoli oppure procedure, ed altre volte danno dei risultati.
Come ad esempio la funzione SOMMA() fa una somma di un range di celle, e la funzione CONVERTI() ti restituisce la conversione di un dato in un altro sistema di misura.
Alcune volte però queste funzioni presenti in Excel non bastano perchè si ha bisogno di fare delle operazioni ripetitive che le macro non riescono a fare, oppure si ha bisogno di calcolare qualcosa ed essere restituito il risultato del calcolo.
Per cui si passa elle Funzioni Utente, le funzioni utente non sono altro che Codice VBA utilizzato come funzione, cioè se io in un foglio Excel ho bisogno di fare un determinato calcolo di cui per scrivere il codice sono circa 30 o 40 righe di codice, ed in un modulo devo scriverlo dieci volte e poi mi serve anche in un'altra parte del foglio, per non stare a scrivere sempre le stesse righe (con il problema di commettere errori) lo scrivo una volta lo testo è lo passo come funzione.
la dicitura d'inizio e di richiamo delle macro è delle funzioni è diversa, per le macro la dicitura è
Codice: Seleziona tutto
Sub MiaMacro()
.
----Macro
.
End Sub

per le funzioni

Public Function MiaFunzione() <-- all'interno delle parentesi ci possono                   essere parametri da passare alla funzione
.
-----Funzione
.
End Function

anche il modo per richiamare la macro è la funzione sono diversi
Codice: Seleziona tutto
per la macro

MiaMacro

Per la funzione

Call MiaFunzione() <-------------- con parametri se ci sono fra parentesi

Puoi andare su questo Link mi sembra che stia trattando proprio in questi giorni qualche articolo sulle funzioni
http://archi.forum.it/index.php
ti saluto è scusa la lungaggine Ciao
A rileggerci By Sal
Avatar utente
By Sal
Utente Junior
 
Post: 79
Iscritto il: 27/08/06 14:40

Postdi Anthony47 » 02/01/07 16:34

Ciao Manu,
le informazioni di Caffey sono gia' molto utili, aggiungo comunque la mia opinione.
La principale differenza tra macro e Function e' che Macro fa tutto quello che gli dici di fare, mentre Function puo solo restituire un valore o un testo nella cella da cui viene chiamata; ad esempio non puo' formattare o cambiare il contenuto di altre celle, o modificare l' ambiente.
Non puoi registrare una UDF, ma puoi inserire in essa istruzioni ottenute con "registra macro".
Infine attenzione quando sei in debug, perche' le istruzioni non compatibili non vengono eseguite ma non generano errore.

Quindi comincia a provare e man mano che hai dubbi prova a chiedere.

Ciao,
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Grazie e proposta

Postdi Ciao Manu » 03/01/07 09:42

Grazie mille per le risposte!
E' comunque da pochissimo che mi affaccio alle tematiche VBA. Devo dire che me la cavo benino con le funzioni base, ma ci sono delle cose che non si possono fare sono con queste.
In questo momento stò sviluppando una mia idea e devo far convivere delle parti di programma (già fatte con funzioni base) con sezioni da creare con User Defined Function perchè altrimenti troppo complesse e articolate. Non voglio inserire macro perchè le UDF mi sembrano più adatte e poi si usano anche loro con F9 (e ho solo il poco tempo che mi avanza dal lavoro per studiare il linguaggio).
A questo proposito mi viene in mente che sarebbe possibile anche una piccola collaborazione (ovviamente RETRIBUITA se ce n'è bisogno) con chiunque di voi se la senta e sia capace di sviluppare delle User Defined Function.
E' una proposta seria e spero che sarà presa in considerazione.
Ciao!
Manuela.
Ciao Manu
Newbie
 
Post: 9
Iscritto il: 27/02/06 18:19


Torna a Applicazioni Office Windows


Topic correlati a "USER DEFINED FUNCTIONS di Excel":


Chi c’è in linea

Visitano il forum: alfrimpa, patel e 17 ospiti