Newsgroup: it.comp.appl.access
Titolo: Aiuto Excel !!

A parziale integrazione di quanto richiesto nel precedente messaggio, cerco
una funzione che converta un numero in testo Esempio 12= dodici - 123 =
Centoventitre.
            Grazie a tutti

             Grazie a tutti
RoDAgo

Scusa la mia ignoranza dicevi che in access hai trovato qualcosa, ma è una
routine fatta da qualcuno altro o un commando bello e buono?
Nel caso di una routine, dacela che te la adattiamo con piacere. Un pò di
esperienza in Excel (97 però) l'avrei :-)
Ciao

 RoDAgo
Ti spiego il metodo piů semplice per utilizzare una funzione del genere.
Apri un nuovo foglio di lavoro, seleziona    Strumenti --> Macro --> Editor
di Visual Basic
Bottone destro su VBAProject (Cartel1), Inserisci --> Modulo
Copia il seguente codice:
Public Function CIFRAPARLANTE(NUMERO As Long)
Dim UNITA As String, DECINA1 As String, DECINE As String, ATTRIBUTI As
String
Dim PAROLE As String, CIFRE As String, TRE_CIFRE As String, stringa As
String
Dim GRUPPO As Integer, CIFRA As Integer, SPAZI As Integer
UNITA = "UNO    DUE    TRE    QUATTROCINQUE SEI    SETTE  OTTO   NOVE "
DECINA1 = "DIECI      UNDICI     DODICI     TREDICI    QUATTORDICIQUINDICI
SEDICI     DICIASSETTEDICIOTTO   DICIANNOVE"
DECINE = "DIECI    VENTI    TRENTA   QUARANTA CINQUANTASESSANTA SETTANTA
OTTANTA  NOVANTA "
ATTRIBUTI = "MILIARDI MILIONI  MILA   "
Select Case NUMERO
    Case 0
        PAROLE = "ZERO"
    Case 1
        PAROLE = "UNA"
    Case Else
        SPAZI = 12 - Len(Str(Abs(NUMERO)))
        CIFRE = Space(SPAZI) + Str(Abs(NUMERO))
        PAROLE = ""
        GRUPPO = 4
   While GRUPPO <> 0
    TRE_CIFRE = Mid(CIFRE, (GRUPPO - 1) * 3 + 1, 3)
    stringa = ""
    Select Case Val(TRE_CIFRE)
        Case 0
         GoTo FUORI
        Case 1
                    Select Case GRUPPO
                        Case 4
                              stringa = "UNO"
                        Case 3
                              stringa = "MILLE"
                        Case 2
                              stringa = "UNMILIONE"
                        Case 1
                              stringa = "UNMILIARDO"
                    End Select
        Case Is > 1
        CIFRA = Val(Mid(TRE_CIFRE, 1, 1))
        If CIFRA <> 0 Then
            If CIFRA > 1 Then
                stringa = Trim(Mid(UNITA, (CIFRA - 1) * 7 + 1, 7))
            End If
            stringa = stringa + "CENTO"
            If Mid(TRE_CIFRE, 2, 1) = "8" Then
                stringa = Left(stringa, Len(stringa) - 1)
            End If
        End If
    CIFRA = Val(Mid(TRE_CIFRE, 2, 1))
     If CIFRA = 1 Then
        CIFRA = Val(Mid(TRE_CIFRE, 3, 1))
        stringa = stringa + Trim(Mid(DECINA1, CIFRA * 11 + 1, 11))
     Else
     If CIFRA > 1 Then
        stringa = stringa + Trim(Mid(DECINE, (CIFRA - 1) * 9 + 1, 9))
        If Mid(TRE_CIFRE, 3, 1) = "1" Or Mid(TRE_CIFRE, 3, 1) = "8" Then
           stringa = Left(stringa, Len(stringa) - 1)
        End If
     End If
     CIFRA = Val(Mid(TRE_CIFRE, 3, 1))
        If CIFRA > 0 Then
            stringa = stringa + Trim(Mid(UNITA, (CIFRA - 1) * 7 + 1, 7))
        End If
     End If
     If GRUPPO <> 4 Then
        stringa = stringa + Trim(Mid(ATTRIBUTI, (GRUPPO - 1) * 9 + 1, 9))
     End If
End Select
    If Len(stringa) <> 0 Then
        If Len(PAROLE) <> 0 Then
            stringa = stringa
        End If
        PAROLE = stringa + PAROLE
    End If
FUORI:
    GRUPPO = GRUPPO - 1
Wend
End Select
CIFRAPARLANTE = PAROLE
    Debug.Print CIFRAPARLANTE   ' Scrive il risultato della Funzione nella
finestra Debug.
End Function
Digita Alt + F11 per tornare nella visualizzazione delle celle e da questo
momento in poi, puoi utilizzare la funzione CIFRAPARLANTE in qualsiasi
cella.
Esempio
=CIFRAPARLANTE (123)    ----->   CENTOVENTITRE
puoi far riferimento anche a valori o risultati contenuti in altre celle.
Esempio
se in A1 č memorizzato il valore 234 allora
=CIFRAPARLANTE(A1)    -------> DUECENTOTRENTAQUATTRO
Ciao da RoDAgo

 Ciao da RoDAgo
Ti ringrazio di cuore per la funzione inviata, funziona benissimo e risolve
tutti i miei problemi. Di nuovo grazie e chiedo scusa a tutti per non
essermi spiegato bene creando confusione.
                                    Roberto


E meno male che non mi chiamo prezzemolo!