Newsgroup: it.comp.aiuto
Titolo: Trasformare un numero, in lettere con excel 2000

Come da oggetto.
Questa domanda era stata posta un po' di tempo fà, purtroppo non la trovo
più.
Potete ripetere le risposte?
Grazie
--
Marco
marcono...@inwind.it

Potete ripetere le risposte?
La prossima volta cercale con
http://groups.google.com/advanced_group_search
http://groups.google.com/groups?th=12156332a6a8c504
-- 
Lapalissiano
Icq 57269703

Potete ripetere le risposte?
Scritta tanto tempo fa.
La macro si chiama Trasforma_in_lettere.
La usi con:
=trasforma_in_lettere(C6)
per esempio, scrivendo in C6 il numero da trasformare.
---- inizio testo da tagliare&incollare ----
Function Trasforma_Gruppo(s As String) As String
Dim Ris As String
Dim us  As String
Dim ds  As String
Dim cs  As String
         u = Mid$(s, 3, 1)
         d = Mid$(s, 2, 1)
         c = Mid$(s, 1, 1)
 
         cs = ""
         ds = ""
         us = ""
 
         Select Case u
                Case "1": us = "uno"
                Case "2": us = "due"
                Case "3": us = "tre"
                Case "4": us = "quattro"
                Case "5": us = "cinque"
                Case "6": us = "sei"
                Case "7": us = "sette"
                Case "8": us = "otto"
                Case "9": us = "nove"
         End Select
 
         Select Case d
                Case "1": ds = "dieci"
                Case "2": ds = "venti"
                Case "3": ds = "trenta"
                Case "4": ds = "quaranta"
                Case "5": ds = "cinquanta"
                Case "6": ds = "sessanta"
                Case "7": ds = "settanta"
                Case "8": ds = "ottanta"
                Case "9": ds = "novanta"
         End Select
 
         Select Case c
                Case "1": cs = "cento"
                Case "2": cs = "duecento"
                Case "3": cs = "trecento"
                Case "4": cs = "quattrocento"
                Case "5": cs = "cinquecento"
                Case "6": cs = "seicento"
                Case "7": cs = "settecento"
                Case "8": cs = "ottocento"
                Case "9": cs = "novecento"
         End Select
 
         If ds = "dieci" Then
            us = ""
            Select Case u
                   Case "1": ds = "undici"
                   Case "2": ds = "dodici"
                   Case "3": ds = "tredici"
                   Case "4": ds = "quattordici"
                   Case "5": ds = "quindici"
                   Case "6": ds = "sedici"
                   Case "7": ds = "diciassette"
                   Case "8": ds = "diciotto"
                   Case "9": ds = "diciannove"
            End Select
         End If
 
         If (ds <> "") And ((us = "uno") Or (us = "otto"))
Then ds = Left$(ds, Len(ds) - 1)
 
         Ris = cs + ds + us
 
         Trasforma_Gruppo = Ris
End Function
Function Trasforma_in_lettere(n As Long) As String
Dim s As String
Dim ns As String
Dim grp1 As String
Dim grp2 As String
Dim grp3 As String
Dim grp4 As String
 
         ns = Str$(n)
         ns = Mid$(ns, 2)
         s = Left$("000000000000", 12 - Len(ns)) + ns
 
         grp1 = Trasforma_Gruppo(Right$(s, 3))
         grp2 = Trasforma_Gruppo(Mid$(s, 7, 1) + Mid$(s, 8,
1) + Mid$(s, 9, 1))
         grp3 = Trasforma_Gruppo(Mid$(s, 4, 1) + Mid$(s, 5,
1) + Mid$(s, 6, 1))
         grp4 = Trasforma_Gruppo(Left$(s, 3))
 
         If grp2 <> "" Then
            If grp2 = "uno" Then grp2 = "mille" Else grp2 =
grp2 + "mila"
         End If
 
         If grp3 <> "" Then
            If grp3 = "uno" Then grp3 = "unmilione" Else
grp3 = grp3 + "milioni"
         End If
 
         If grp4 <> "" Then
            If grp4 = "uno" Then grp4 = "unmiliardo" Else
grp4 = grp4 + "miliardi"
         End If
 
         Trasforma_in_lettere = grp4 + grp3 + grp2 + grp1
 
End Function
---- fine testo da tagliare&incollare ----
-- 
The Follet

Ho creato la macro come dicevi, ma non funziona, mi dice errore di
sintassi.
non vorrei che sbaglio qualche passaggio...
ciao
<cut>
On Fri, 09 Nov 2001 19:26:39 GMT, 
thef...@libero.it
 (The Follet)
wrote:


non vorrei che sbaglio qualche passaggio...
Attento, ci sono delle righe che probabilmente si vedono in
rosso, perche' sono troppo lunghe e vengono scritte a capo.
Devi accodarle alla riga precedente.
Prima di postarla, ho provato la funzione e andava bene, se
hai problemi scrivimi in privato.
-- 
The Follet

 hai problemi scrivimi in privato.
Ho fatto come hai detto ed in effetti funziona, grazie.
l'unica cosa è che vorrei fare in modo che rimanga sempre memorizzata
e che quindi funzioni in tutti i fogli di lavoro.
cmq a me serviva in particolare su un foglio e su quello adesso
va...grazie ancora.
ste