Funzione utente TRUNC() e Funzione TRUNCA() - pagina vista: volte In VBA non esiste la Funzione TRONCA() del foglio di lavoro, che serve ad eliminare, posto un numero con decimali, la parte decimale del numero, indicando il numero di cifre (dei decimali che si desidera troncare), in pratica si può usare per impostare il numero di decimali da ottenere, e la sua sintassi è:
La stessa cosa la vorremmo realizzare in VBA, ma dobbiamo considerare che Excel, quando si supera un certo numero di cifre (i decimali in questo esempio), usa il formato dei numeri esponenziali, cioè il numero sopra viene visto come un numero intero elevato alla X potenza (in questo caso negativa, cioè col segno meno dopo la lettera E) ed il numero negativo visto sopra ( 0,0478944146153846) viene visto e letto dal codice come 4,78944146153846E-02 Questa premessa solo per coloro che, cimentandosi nella realizzazione di funzioni utente (cioè quelle "fai da te") tengano presente che può essere opportuno convertire un numero esponenziale in un numero decimale usando la funzione di conversione del tipo CDec. Questa conversione faciliterà la lettura dei valori se useremo istruzioni che leggano la parte intera di un numero quando la parte intera è rappresentata da uno zero (virgola qualcosa). Presento quindi una funzione utente, la Funzione Trunc(Numero) dove Numero sarà il numero o il riferimento ad una cella contenente il numero, o ad una variabile vettore del numero da troncare; questa funzione potrà essere usata come una qualsiasi altra funzione sia sul foglio di lavoro, sia in procedure vba. Ho usato il solo argomento Numero perchè la funzione così impostata restituisce solo numeri a due decimali (di tipo Double), ma non è difficile modificarla secondo le proprie necessità. Vediamo la funzione:
Ricordo che la funzione NON arrotonda l'ultimo decimale, ma Tronca i decimali al numero prefissato senza arrotondamenti. Esempio in vba:
Se invece desiderate usare la funzione con l'argomento num_cifre, per poter variare a vostro piacimento il numero delle cifre da troncare, questa è la Funzione TRUNCA(Numero, cifre) dove con cifre si indicherà a quanti decimali troncare.
Esempio in vba:
Esempio in una cella del foglio di lavoro: =Trunca(riferimentocella; 3) sul foglio di lavoro ci vuole il punto e virgola come separatore degli argomenti. Il nome che darete alla funzione non ha importanza, chiamatela come vi pare, ma evitate di usare nomi di funzioni già esistenti in excel o in vba. Buon lavoro. prelevato sul sito www.ennius.altervista.org |