Newsgroup: it.economia.fisco
Titolo: EXCEL

E' possibile scrivendo su di una pagina excel alla casella A1 il valore
1.000 ottenere nella casella A2 il medesimo valore espresso in lettere
*mille*?
In caso affermativo è possibile trasporre tale funzione anche alle altre
celle?
Grazie!
ROBERTO

 ha scritto nel messaggio
news:74ncb.344675$Ny5.10...@twister2.libero.it...


Occorre una funzione personalizzata che faccia ciò.
So che in Internet ve ne sono. Devi vedere magari sui siti microsoft
dedicati ad excel.
Ciao
Ermanno

 basta scrivere nella casella A2: =se(a1=1000;"mille";" ")
io credo che a Roberto interessi una funzione che converta un qualsiasi
numero numero in lettere.
Ad es. se in A1 vi è 1256 che in B1 risulti milleduecentocinquatasei e così
per qualsiasi numero inserito in A1.
Ciao
Ermanno

 *mille*?
si.
uno dei metodi oltre a quello suggerito da sua excellenza, è  utilizzare una
routine di vba dove converti le cifre in lettere, e la stringa che ne deriva
la posizioni trami apposita funzione, nella cella che vuoi.
Dovrei avere una routine del genere. se ti interessa  te la invio.
Ciao
P.S. se non hai dimestichezza con il VB o con il VBA, ti sconsiglio tale
metodo.


 basta scrivere nella casella A2: =se(a1=1000;"mille";" ")
ammazza che volpe che è l'ing.gestionale!!  :--))
-- 
FL
Roma

 ROBERTO
Ciao Carlo

 *mille*?
la funzione che incollo sotto funziona solo con i numeri interi!!!.......
comunque ti do anche le istruzioni per inserirla nel tuo foglio excel:
apri excel --> strumenti --> macro --> editor di visual basic
e qui fai inserisci  --> modulo
e nel modulo incolli questa funzione:
--------copia dopo questa riga
Function NumeroInLettere(Numero As Currency)
   If Numero = 0 Then Exit Function
   If Numero > 999999999999# Then Exit Function
   Dim Frazione1, Frazione2, Frazione3, Esp As Integer
   Dim InLettere As String
   Dim Temp As Double
   Static Cifra(28) As String
   Cifra(1) = ""
   Cifra(2) = "uno"
   Cifra(3) = "due"
   Cifra(4) = "tre"
   Cifra(5) = "quattro"
   Cifra(6) = "cinque"
   Cifra(7) = "sei"
   Cifra(8) = "sette"
   Cifra(9) = "otto"
   Cifra(10) = "nove"
   Cifra(11) = "dieci"
   Cifra(12) = "undici"
   Cifra(13) = "dodici"
   Cifra(14) = "tredici"
   Cifra(15) = "quattordici"
   Cifra(16) = "quindici"
   Cifra(17) = "sedici"
   Cifra(18) = "diciassettte"
   Cifra(19) = "diciotto"
   Cifra(20) = "diciannove"
   Cifra(21) = "venti"
   Cifra(22) = "trenta"
   Cifra(23) = "quaranta"
   Cifra(24) = "cinquanta"
   Cifra(25) = "sessanta"
   Cifra(26) = "settanta"
   Cifra(27) = "ottanta"
   Cifra(28) = "novanta"
For Esp = 3 To 0 Step -1
    Temp = Numero / 1000 ^ Esp
    Frazione1 = Int(Temp)
    If Frazione1 > 0 Then
        Frazione2 = Frazione1
        If Frazione2 > 99 Then
            Temp = Frazione2 / 100
            Frazione3 = Int(Temp)
            Frazione2 = Frazione2 - Frazione3 * 100
            If Frazione3 = 1 Then
                InLettere = InLettere + "cento"
            Else
                InLettere = InLettere + Cifra(Frazione3 + 1) + "cento"
            End If
        End If
        If Frazione2 <= 20 Then
            InLettere = InLettere + Cifra(Frazione2 + 1)
        Else
            Temp = Frazione2 / 10
            Frazione3 = Int(Temp)
            InLettere = InLettere + Cifra(Frazione3 + 19)
            Frazione2 = Frazione2 - Frazione3 * 10
            If Frazione2 = 1 Or Frazione2 = 8 Then
                InLettere = Left(InLettere, Len(InLettere) - 1)
            End If
            InLettere = InLettere + Cifra(Frazione2 + 1)
        End If
        Select Case Esp
            Case 1
                If Frazione1 = 1 Then
                    InLettere = Left(InLettere, Len(InLettere) - 3) +
"mille"
                Else
                    InLettere = InLettere + "mila"
                End If
            Case 2
                If Frazione1 = 1 Then
                    InLettere = Left(InLettere, Len(InLettere) - 3) +
"unmilione"
                Else
                    InLettere = InLettere + "milioni"
                End If
            Case 3
                If Frazione1 = 1 Then
                    InLettere = "unmiliardo"
                Else
                    InLettere = InLettere + "miliardi"
                End If
            End Select
            Numero = Numero - Frazione1 * 1000 ^ Esp
        End If
    Next
    NumeroInLettere = InLettere
End Function
----------non incollare questa riga
se in A1 hai scritto 1.000 in A2 puoi scrivere =numeroinlettere(A1)
e in A2 ti viene scritto "mille"
Ciao, Lorenzo