PDA

Visualizza versione completa : office XP - conversioni da cifre a testo


Pico de G@llo
20-12-2005, 10.22.32
Spesso, per la partecipazione a gare pubbliche, mi viene richiesto la compilazione di computi metrici con i prezzi offerti (partendi ovviamente da una base d'asta) sia in cifre che in lettere.

Questi computi sono generalmente dei file di excel (e + raramente di word).
Vorrei sapere se esiste una formula, una macro, ecc che mi permetta di fare ciò.

In excel ne esiste già una di serie che converte le cifre in "bath" ma sarebbe molto + comodo in italiano.

Potete aiutarmi??

Ciao a tutti

Cricchia
20-12-2005, 11.50.49
su google ne trovi migliaia, comunque guarda qui:

http://community.visual-basic.it/lucianob/archive/2005/09/18/16324.aspx


questa macro ti permette di convertire i numeri in lettere/00 utilizzando una funzione normalissima! (Y)

;)

Pico de G@llo
21-12-2005, 10.06.58
Ho guardato la pagina che mi hai indicato, ho vagamente intuito dal listato come funziona il programma, ma sono completamente a digiuno su come farlo girare in excel.

Mi puoi dare una dritta???

Grazie

Cricchia
21-12-2005, 10.28.29
ehm... in effetto ho dato per scontato un pò tutto! :p

Cmq, è semplice!
Copia tutto il codice che trovi in quel link, apri il (o un) file excel:
menù Strumenti => Macro => Visual Basic Editor
da qui: menù Inserisci => Modulo
e incolli il codice copiato.

Dopo aver fatto questo, torni in Excel, e ti basterà scrivere la funzione (o menù Inserisci => Funzione => Definite dall'utente)

=Cifre2Lettere(A1)

dove A1 è la cella che devi convertire in lettere ;)

Se c'è qualcosa che non hai capito.. chiedi pure, siamo o no qua per questo!?!?!? :)

Pico de G@llo
21-12-2005, 10.56.31
Se non ho capito male questo lo devo fare in ogni file dove mi serve questa funzione vero???

Non esiste il modo di fare in modo che diventi una funzione esterna in modo da non fare tutte le volte il copia incolla??

grazie

Cricchia
21-12-2005, 11.03.03
si si esiste!
fai la stessa procedura su un file vuoto/nuovo e salvalo nella cartella XLStart (es. per Office XP: C:\Programmi\Microsoft Office\Office10\XLStart) chiamandolo "Personal.xls" ;)

In questo modo tutte le volte che apri Excel, ti si aprirà quel file ma saraà nascosto e avrai la funzione a tua disposizione! :)

interceptor
21-12-2005, 11.15.55
cricchia -> maghetto dell'excel

rulez :p :p :p

Pico de G@llo
21-12-2005, 13.36.09
Ho provato e funziona tutto che è una figata.

Grazie e alla prossima

Ciao e Buon Natale a Tutti

Cricchia
21-12-2005, 13.38.36
Originariamente inviato da interceptor
cricchia -> maghetto dell'excel

rulez :p :p :p

:eek: :timid:

Originariamente inviato da Pico de G@llo
Ho provato e funziona tutto che è una figata.

Grazie e alla prossima

Ciao e Buon Natale a Tutti

bene! :)
Grazie per gli auguri! Ricambio! (F)

Pico de G@llo
21-12-2005, 13.58.55
Ehmm non so come cominciare ma dopo una prova ho visto che c'è un problema....

Ho salvato il file con la funzione in VB come Personal.xls nella cartella che mi hai indicato.

Quando apro una nuova sessione di excel mi apre in automatico questo file (e fino qui niente di grave...) in cui la funzione è disponibile (ovviamente...).

Se però lo chiudo e ne apro uno diverso in cui mi serve questa funzione mi dice che non è stata definita / non esiste.

Sembra quindi che, a differenza di quello che mi hai detto, la funzione è disponibile solo nel Personal.xls

Ho sbagliato qualche cosa o esiste un qualche modo per fargli capire di andare a prendere le istruzioni della funzione in quel file???

Cricchia
21-12-2005, 14.12.43
no aspè.. mi sono dimenticata di dirti una cosa:

allora, quando apri excel e ti si presenta il file Personal.xls, tu fai così menù Finestra => Nascondi...
Chiudi Excel e lo riapri, ti si dovrebbe presentare solo il classico file Cartel1
e così hai il file Personal sempre attivo ma nascosto e tu lavori sulle tue cartelle normalmente e con la funzione ;)

Pico de G@llo
21-12-2005, 14.50.29
Ho provato a nascondere il file come mi hai detto e dopoaver chiuso e riaperto mi apre Cartel.xls.

Ho provato a usare la funzione ma mi dice che non è definita.....

Cricchia
21-12-2005, 14.58.45
forse abbiamo fatto un pò di confusione e abbiamo sbagliato qualcosa: io ho fatto la tua stessa procedura e a me funziona... ricapitolando:

1) copiare il codice del link
2) file nuovo, modulo nuovo => incolla codice
3) salvare questo file con il nome "Personal.xls" nella cartella XLStart in c:\Programmi\etc.
4) aprire Excel (si apre Pesonal.xls), dal menù Finestra => Nascondi
5) chiudere * e riaprire Excel (si apre Cartel1)

*non mi ricordo, ma se ti viene chiesto di salvare qualcosa, dì SI! :o

La funzione dovrebbe essere disponibile. Se anche tu hai fatto tutto, prova a verificare che dal menù Inserisci => Funzione e tra le Definite dall'utente ci sia la funzione "Personal.xls!Cifre2Lettere"

fammi sapere eh! :)

Pico de G@llo
21-12-2005, 15.22.28
Ho guardato nelle funzioni definite dall'utente e non compare cifre2lettere.

Per scrupolo ho riaperto il file personal.xls per controllare se la macro c'era o avevo dimenticato di salvarla ed era al suo posto.

Ho provato a spostare personal.xls in un'altra cartella e rifarlo di nuovo (chiamandolo in un altro modo per evitare eventuali problemi) e la macro non funziona (invece prima andava perfettamente...)

Ho paura che ci stiamo perdendo in un bicchiere d'acqua....

Pico de G@llo
21-12-2005, 15.30.59
Ho rifatto tutto da capo per l'ennesima volta, rifacendo punto per punto e (non chiedermi come mai, non l'ho capito...) ora funziona tutto quanto perfettamente....


Grazie ancora di tutto e ancora Tanti Auguri di Buon Natale

Cricchia
21-12-2005, 16.38.49
meglio così! (D):)


p.s. il file nella dir XLStart di deve chiamare per forza "Personal.xls", altrimenti non va! ;)