Note: The other languages of the website are Google-translated. Back to English

Come convertire i numeri in parole in rupie indiane in Excel?

In questo articolo, introdurrò come convertire un elenco di numeri in parole in rupie indiane o dollaro inglese in Excel.

Converti i numeri in parole in rupie indiane con il codice VBA

Converti i numeri in parole in dollari inglesi con una funzionalità straordinaria


Converti i numeri in parole in rupie indiane con il codice VBA

Il seguente codice VBA può aiutarti a convertire i numeri in parole in rupie, per favore fai come segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nella finestra del modulo.

Codice VBA: converti i numeri in parole in rupie

Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = " Rupees " & xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function 

3. Dopo aver inserito il codice, salva e chiudi la finestra del codice, torna al foglio di lavoro e inserisci questa formula: = RupeeFormat (A2) in una cella vuota, quindi trascina il quadratino di riempimento verso il basso per applicare questa formula ad altre celle, tutti i numeri sono stati scritti in rupie, vedi screenshot:


Converti i numeri in parole in dollari inglesi con una funzionalità straordinaria

Se vuoi convertire i numeri in parole in dollari inglesi, Kutools for Excel'S Numeri in parole può aiutarti a risolvere questo lavoro in modo rapido e semplice.

Suggerimenti:Per applicare questo Numero in parole in primo luogo, dovresti scaricare il file Kutools for Excele quindi applica la funzione in modo rapido e semplice.

Dopo l'installazione Kutools for Excel, per favore fai come questo:

1. Seleziona l'elenco di numeri che desideri convertire, quindi fai clic su Kutools > del Pacco > Numeri in parole, vedi screenshot:

2. Nel Numeri in parole di valuta finestra di dialogo, selezionare English opzione dal Le Lingue sezione, quindi fare clic su Ok pulsante, i numeri nella selezione sono stati convertiti nelle parole della valuta inglese, vedi screenshot:

Fai clic per scaricare Kutools per Excel e prova gratuita ora!

 


  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne e conservazione dei dati; Contenuto delle celle divise; Combina righe duplicate e somma / media... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Formule preferite e di inserimento rapido, Intervalli, grafici e immagini; Crittografa celle con password; Crea mailing list e invia email ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Raggruppamento tabelle pivot per numero della settimana, giorno della settimana e altro ... Mostra celle sbloccate e bloccate da diversi colori; Evidenzia le celle che hanno formula / nome...
scheda kte 201905
  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab

 

Commenti (22)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Excel si arresta in modo anomalo quando la cella di riferimento non ha valvole!
Questo commento è stato fatto dal moderatore sul sito
Ciao, Utente,
Grazie per il tuo commento, il codice in questo articolo è stato aggiornato, riprova, grazie!
Questo commento è stato fatto dal moderatore sul sito
Caro Signore,

Buona giornata,

Ho testato la formula sopra non funziona con valori di trattino meno come -100 -10,000 o (100) (10,000)

Signore, sto usando il codice sottostante negli ultimi 1 anni e oggi ho scoperto lo stesso errore.

Quando scrivo meno -10,000 o (10,000) mostra "Solo cento diecimila"
Quando scrivo Positivo 10,000 funziona benissimo "Solo diecimila"

Sotto esempio:

(10,000.99) Solo centodiecimila e 99/100 riyal
10,000.99 Solo diecimila e 99/100 Riyal
(10,000,000.99) Solo centodieci milioni e 99/100 riyal
10,000,000.99 Solo dieci milioni e 99/100 Riyal
(10,000,000,000.99) Solo centodieci miliardi e 99/100 riyal
10,000,000,000.99 Solo dieci miliardi e 99/100 Riyal
(10,000,000,000,000.90) Solo centodieci trilioni e 90/100 riyal
10,000,000,000,000.90 Solo dieci trilioni e 90/100 Riyal

Formula = calcolo ortografico

IL MIO CODICE VBA:

'Funzione principale
Funzione SpellBilling(ByVal MyNumber)
Dim Riyal, Halala, Temp
Dim DecimalPlace, Conte
ReDim Place(9) come stringa
Luogo(2) = " Mille "
Luogo(3) = " Milione "
Luogo(4) = " Miliardi "
Luogo(5) = "Trilioni"
' Rappresentazione in stringa dell'importo.
MioNumero = Taglia(Str(MioNumero))
' Posizione della cifra decimale 0 se nessuna.
Posizione decimale = InStr(MioNumero, ".")
' Converti Halala e imposta MyNumber su Riyal.
Se DecimalPlace > 0 Allora
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MioNumero = Taglia(Sinistra(MioNumero, Posizione Decimale - 1))
End If
Conteggio = 1
Fai mentre MioNumero <> ""
Temp = GetCentinaia(Right(MyNumber, 3))
Se Temp <> "" Allora Riyals = Temp & Place(Count) & Riyals
Se Len(MioNumero) > 3 Allora
MioNumero = Sinistra(MioNumero, Len(MioNumero) - 3)
Altro
MioNumero = ""
End If
Conteggio = Conteggio + 1
Ciclo continuo
Seleziona Case Riyal
Caso ""
Riyal = "Nessun Riyal"
Caso "Uno"
Riyal = "Solo un Riyal"
Case Else
Riyal = "Solo" & Riyal
Riyal = Riyal e ""
End Select
Seleziona Caso Halala
Caso ""
Halala = " & 00/00 Riyal"
Caso "Uno"
Halala = " & 01/100 Riyal"
Caso "Due"
Halala = " & 02/100 Riyal"
Caso "Tre"
Halala = " & 03/100 Riyal"
Caso "Quattro"
Halala = " & 04/100 Riyal"
Caso "Cinque"
Halala = " & 05/100 Riyal"
Caso "Sei"
Halala = " & 06/100 Riyal"
Caso "Sette"
Halala = " & 07/100 Riyal"
Caso "Otto"
Halala = " & 08/100 Riyal"
Caso "Nove"
Halala = " & 09/100 Riyal"
Caso "Dieci"
Halala = " & 10/100 Riyal"
Caso "Undici"
Halala = " & 11/100 Riyal"
Caso "dodici"
Halala = " & 12/100 Riyal"
Caso "Tredici"
Halala = " & 13/100 Riyal"
Caso "Quattordici"
Halala = " & 14/100 Riyal"
Caso "Quindici"
Halala = " & 15/100 Riyal"
Caso "Sedici"
Halala = " & 16/100 Riyal"
Caso "diciassette"
Halala = " & 17/100 Riyal"
Caso "Diciotto"
Halala = " & 18/100 Riyal"
Caso "diciannove"
Halala = " & 19/100 Riyal"
Caso "Venti"
Halala = " & 20/100 Riyal"
Caso "ventuno"
Halala = " & 21/100 Riyal"
Caso "ventidue"
Halala = " & 22/100 Riyal"
Caso "Ventitré"
Halala = " & 23/100 Riyal"
Caso "ventiquattro"
Halala = " & 24/100 Riyal"
Caso "Venticinque"
Halala = " & 25/100 Riyal"
Caso "ventisei"
Halala = " & 26/100 Riyal"
Caso "Ventisette"
Halala = " & 27/100 Riyal"
Caso "Ventotto"
Halala = " & 28/100 Riyal"
Caso "ventinove"
Halala = " & 29/100 Riyal"
Caso "Trenta"
Halala = " & 30/100 Riyal"
Caso "Trentuno"
Halala = " & 31/100 Riyal"
Caso "Trentadue"
Halala = " & 32/100 Riyal"
Caso "Trentatré"
Halala = " & 33/100 Riyal"
Caso "Trentaquattro"
Halala = " & 34/100 Riyal"
Caso "Trentacinque"
Halala = " & 35/100 Riyal"
Caso "Trentasei"
Halala = " & 36/100 Riyal"
Caso "Trentasette"
Halala = " & 37/100 Riyal"
Caso "Trentotto"
Halala = " & 38/100 Riyal"
Caso "Trentanove"
Halala = " & 39/100 Riyal"
Caso "Quaranta"
Halala = " & 40/100 Riyal"
Caso "quarantuno"
Halala = " & 41/100 Riyal"
Caso "quarantadue"
Halala = " & 42/100 Riyal"
Caso "Quarantatré"
Halala = " & 43/100 Riyal"
Caso "Quarantaquattro"
Halala = " & 44/100 Riyal"
Caso "quarantacinque"
Halala = " & 45/100 Riyal"
Caso "quarantasei"
Halala = " & 46/100 Riyal"
Caso "Quarantasette"
Halala = " & 47/100 Riyal"
Caso "Quarantotto"
Halala = " & 48/100 Riyal"
Caso "Quarantanove"
Halala = " & 49/100 Riyal"
Caso "Cinquanta"
Halala = " & 50/100 Riyal"
Caso "Cinquantuno"
Halala = " & 51/100 Riyal"
Caso "Cinquantadue"
Halala = " & 52/100 Riyal"
Caso "Cinquantatre"
Halala = " & 53/100 Riyal"
Caso "Cinquantaquattro"
Halala = " & 54/100 Riyal"
Caso "Cinquantacinque"
Halala = " & 55/100 Riyal"
Caso "Cinquantasei"
Halala = " & 56/100 Riyal"
Caso "Cinquantasette"
Halala = " & 57/100 Riyal"
Caso "Cinquantotto"
Halala = " & 58/100 Riyal"
Caso "Cinquantanove"
Halala = " & 59/100 Riyal"
Caso "Sessanta"
Halala = " & 60/100 Riyal"
Caso "Sessantuno"
Halala = " & 61/100 Riyal"
Caso "Sessantadue"
Halala = " & 62/100 Riyal"
Caso "Sessantatré"
Halala = " & 63/100 Riyal"
Caso "Sessantaquattro"
Halala = " & 64/100 Riyal"
Caso "Sessantacinque"
Halala = " & 65/100 Riyal"
Caso "Sessantasei"
Halala = " & 66/100 Riyal"
Caso "Sessantasette"
Halala = " & 67/100 Riyal"
Caso "Sessantotto"
Halala = " & 68/100 Riyal"
Caso "Sessantanove"
Halala = " & 69/100 Riyal"
Caso "Settanta"
Halala = " & 70/100 Riyal"
Caso "Settantuno"
Halala = " & 71/100 Riyal"
Caso "Settantadue"
Halala = " & 72/100 Riyal"
Caso "Settantatré"
Halala = " & 73/100 Riyal"
Caso "Settantaquattro"
Halala = " & 74/100 Riyal"
Caso "Settantacinque"
Halala = " & 75/100 Riyal"
Caso "Settantasei"
Halala = " & 76/100 Riyal"
Caso "Settantasette"
Halala = " & 77/100 Riyal"
Caso "Settantotto"
Halala = " & 78/100 Riyal"
Caso "Settantanove"
Halala = " & 79/100 Riyal"
Caso "ottanta"
Halala = " & 80/100 Riyal"
Caso "Ottantuno"
Halala = " & 81/100 Riyal"
Caso "ottantadue"
Halala = " & 82/100 Riyal"
Caso "ottantatré"
Halala = " & 83/100 Riyal"
Caso "ottantaquattro"
Halala = " & 84/100 Riyal"
Caso "ottantacinque"
Halala = " & 85/100 Riyal"
Caso "ottantasei"
Halala = " & 86/100 Riyal"
Caso "ottantasette"
Halala = " & 87/100 Riyal"
Caso "Ottantotto"
Halala = " & 88/100 Riyal"
Caso "ottantanove"
Halala = " & 89/100 Riyal"
Caso "Novant'anni"
Halala = " & 90/100 Riyal"
Caso "Novantuno"
Halala = " & 91/100 Riyal"
Caso "Novantuno"
Halala = " & 92/100 Riyal"
Caso "Novantatré"
Halala = " & 93/100 Riyal"
Caso "Novantanove"
Halala = " & 94/100 Riyal"
Caso "Novantanove"
Halala = " & 95/100 Riyal"
Caso "Novantasei"
Halala = " & 96/100 Riyal"
Caso "Novantasette"
Halala = " & 97/100 Riyal"
Caso "Novantotto"
Halala = " & 98/100 Riyal"
Caso "Novantanove"
Halala = " & 99/100 Riyal"


Case Else
Halala = " & " & Halala & " Halala"
End Select
SpellBilling = Riyal e Halala
End Function


' Converte un numero da 100-999 in testo
Funzione GetHundreds(ByVal MyNumber)
Risultato debole come stringa
Se Val(MyNumber) = 0 allora Esci dalla funzione
MioNumero = Destra("000" & MioNumero, 3)
' Converti il ​​posto delle centinaia.
If Mid(MyNumber, 1, 1) <> "0" Allora
Risultato = GetDigit(Mid(MyNumber, 1, 1)) & "Cento"
End If
' Converti le decine e le unità.
If Mid(MyNumber, 2, 1) <> "0" Allora
Risultato = Risultato & GetTens(Mid(MyNumber, 2))
Altro
Risultato = Risultato & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Risultato
End Function

' Converte un numero da 10 a 99 in testo.
Funzione GetTens(TensText)
Risultato debole come stringa
Risultato = "" ' Annulla il valore della funzione temporanea.
If Val(Left(TensText, 1)) = 1 Then ' Se valore compreso tra 10-19...
Seleziona Case Val(TensText)
Caso 10: Risultato = "Dieci"
Caso 11: Risultato = "Undici"
Caso 12: Risultato = "Dodici"
Caso 13: Risultato = "Tredici"
Caso 14: Risultato = "Quattordici"
Caso 15: Risultato = "Quindici"
Caso 16: Risultato = "Sedici"
Caso 17: Risultato = "Diciassette"
Caso 18: Risultato = "Diciotto"
Caso 19: Risultato = "Diciannove"
Case Else
End Select
Altrimenti ' Se il valore è compreso tra 20-99...
Seleziona Case Val(Left(TensText, 1))
Caso 2: Risultato = "Venti"
Caso 3: Risultato = "Trenta"
Caso 4: Risultato = "Quaranta"
Caso 5: Risultato = "Cinquanta"
Caso 6: Risultato = "Sessanta"
Caso 7: Risultato = "Settanta"
Caso 8: Risultato = "Ottanta"
Caso 9: Risultato = "Novant'anni"
Case Else
End Select
Risultato = Risultato & GetDigit _
(Right(TensText, 1)) ' Recupera il posto.
End If
GetTens = Risultato
End Function

' Converte un numero da 1 a 9 in testo.
Funzione GetDigit(Cifra)
Seleziona Case Val (cifra)
Caso 1: GetDigit = "Uno"
Caso 2: GetDigit = "Due"
Caso 3: GetDigit = "Tre"
Caso 4: GetDigit = "Quattro"
Caso 5: GetDigit = "Cinque"
Caso 6: GetDigit = "Sei"
Caso 7: GetDigit = "Sette"
Caso 8: GetDigit = "Otto"
Caso 9: GetDigit = "Nove"
Altro caso: GetDigit = ""
End Select
End Function
Questo commento è stato fatto dal moderatore sul sito
Niente da dire! Estremamente super
Questo commento è stato fatto dal moderatore sul sito
Caro Signore,

Buona giornata,
Ho testato il tuo codice VBA ma sfortunatamente non funziona bene su valori negativi / meno come -100 -10,000 / (100) (10,000).

Signore, sto usando il codice sottostante negli ultimi 1 anni e oggi ho scoperto lo stesso errore che si trova anche nel tuo codice VBA.

Quando scrivo meno -10,000 viene visualizzato su "Solo cento diecimila"
Quando scrivo positivo 10,000, mostra "Solo diecimila" funziona bene

Sotto esempio:

(10,000.99) Solo centodiecimila e 99/100 riyal
10,000.99 Solo diecimila e 99/100 Riyal
(10,000,000.99) Solo centodieci milioni e 99/100 riyal
10,000,000.99 Solo dieci milioni e 99/100 Riyal
(10,000,000,000.99) Solo centodieci miliardi e 99/100 riyal
10,000,000,000.99 Solo dieci miliardi e 99/100 Riyal
(10,000,000,000,000.90) Solo centodieci trilioni e 90/100 riyal
10,000,000,000,000.90 Solo dieci trilioni e 90/100 Riyal

Formula = calcolo ortografico

IL MIO CODICE VBA:

'Funzione principale
Funzione SpellBilling(ByVal MyNumber)
Dim Riyal, Halala, Temp
Dim DecimalPlace, Conte
ReDim Place(9) come stringa
Luogo(2) = " Mille "
Luogo(3) = " Milione "
Luogo(4) = " Miliardi "
Luogo(5) = "Trilioni"
' Rappresentazione in stringa dell'importo.
MioNumero = Taglia(Str(MioNumero))
' Posizione della cifra decimale 0 se nessuna.
Posizione decimale = InStr(MioNumero, ".")
' Converti Halala e imposta MyNumber su Riyal.
Se DecimalPlace > 0 Allora
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MioNumero = Taglia(Sinistra(MioNumero, Posizione Decimale - 1))
End If
Conteggio = 1
Fai mentre MioNumero <> ""
Temp = GetCentinaia(Right(MyNumber, 3))
Se Temp <> "" Allora Riyals = Temp & Place(Count) & Riyals
Se Len(MioNumero) > 3 Allora
MioNumero = Sinistra(MioNumero, Len(MioNumero) - 3)
Altro
MioNumero = ""
End If
Conteggio = Conteggio + 1
Ciclo continuo
Seleziona Case Riyal
Caso ""
Riyal = "Nessun Riyal"
Caso "Uno"
Riyal = "Solo un Riyal"
Case Else
Riyal = "Solo" & Riyal
Riyal = Riyal e ""
End Select
Seleziona Caso Halala
Caso ""
Halala = " & 00/00 Riyal"
Caso "Uno"
Halala = " & 01/100 Riyal"
Caso "Due"
Halala = " & 02/100 Riyal"
Caso "Tre"
Halala = " & 03/100 Riyal"
Caso "Quattro"
Halala = " & 04/100 Riyal"
Caso "Cinque"
Halala = " & 05/100 Riyal"
Caso "Sei"
Halala = " & 06/100 Riyal"
Caso "Sette"
Halala = " & 07/100 Riyal"
Caso "Otto"
Halala = " & 08/100 Riyal"
Caso "Nove"
Halala = " & 09/100 Riyal"
Caso "Dieci"
Halala = " & 10/100 Riyal"
Caso "Undici"
Halala = " & 11/100 Riyal"
Caso "dodici"
Halala = " & 12/100 Riyal"
Caso "Tredici"
Halala = " & 13/100 Riyal"
Caso "Quattordici"
Halala = " & 14/100 Riyal"
Caso "Quindici"
Halala = " & 15/100 Riyal"
Caso "Sedici"
Halala = " & 16/100 Riyal"
Caso "diciassette"
Halala = " & 17/100 Riyal"
Caso "Diciotto"
Halala = " & 18/100 Riyal"
Caso "diciannove"
Halala = " & 19/100 Riyal"
Caso "Venti"
Halala = " & 20/100 Riyal"
Caso "ventuno"
Halala = " & 21/100 Riyal"
Caso "ventidue"
Halala = " & 22/100 Riyal"
Caso "Ventitré"
Halala = " & 23/100 Riyal"
Caso "ventiquattro"
Halala = " & 24/100 Riyal"
Caso "Venticinque"
Halala = " & 25/100 Riyal"
Caso "ventisei"
Halala = " & 26/100 Riyal"
Caso "Ventisette"
Halala = " & 27/100 Riyal"
Caso "Ventotto"
Halala = " & 28/100 Riyal"
Caso "ventinove"
Halala = " & 29/100 Riyal"
Caso "Trenta"
Halala = " & 30/100 Riyal"
Caso "Trentuno"
Halala = " & 31/100 Riyal"
Caso "Trentadue"
Halala = " & 32/100 Riyal"
Caso "Trentatré"
Halala = " & 33/100 Riyal"
Caso "Trentaquattro"
Halala = " & 34/100 Riyal"
Caso "Trentacinque"
Halala = " & 35/100 Riyal"
Caso "Trentasei"
Halala = " & 36/100 Riyal"
Caso "Trentasette"
Halala = " & 37/100 Riyal"
Caso "Trentotto"
Halala = " & 38/100 Riyal"
Caso "Trentanove"
Halala = " & 39/100 Riyal"
Caso "Quaranta"
Halala = " & 40/100 Riyal"
Caso "quarantuno"
Halala = " & 41/100 Riyal"
Caso "quarantadue"
Halala = " & 42/100 Riyal"
Caso "Quarantatré"
Halala = " & 43/100 Riyal"
Caso "Quarantaquattro"
Halala = " & 44/100 Riyal"
Caso "quarantacinque"
Halala = " & 45/100 Riyal"
Caso "quarantasei"
Halala = " & 46/100 Riyal"
Caso "Quarantasette"
Halala = " & 47/100 Riyal"
Caso "Quarantotto"
Halala = " & 48/100 Riyal"
Caso "Quarantanove"
Halala = " & 49/100 Riyal"
Caso "Cinquanta"
Halala = " & 50/100 Riyal"
Caso "Cinquantuno"
Halala = " & 51/100 Riyal"
Caso "Cinquantadue"
Halala = " & 52/100 Riyal"
Caso "Cinquantatre"
Halala = " & 53/100 Riyal"
Caso "Cinquantaquattro"
Halala = " & 54/100 Riyal"
Caso "Cinquantacinque"
Halala = " & 55/100 Riyal"
Caso "Cinquantasei"
Halala = " & 56/100 Riyal"
Caso "Cinquantasette"
Halala = " & 57/100 Riyal"
Caso "Cinquantotto"
Halala = " & 58/100 Riyal"
Caso "Cinquantanove"
Halala = " & 59/100 Riyal"
Caso "Sessanta"
Halala = " & 60/100 Riyal"
Caso "Sessantuno"
Halala = " & 61/100 Riyal"
Caso "Sessantadue"
Halala = " & 62/100 Riyal"
Caso "Sessantatré"
Halala = " & 63/100 Riyal"
Caso "Sessantaquattro"
Halala = " & 64/100 Riyal"
Caso "Sessantacinque"
Halala = " & 65/100 Riyal"
Caso "Sessantasei"
Halala = " & 66/100 Riyal"
Caso "Sessantasette"
Halala = " & 67/100 Riyal"
Caso "Sessantotto"
Halala = " & 68/100 Riyal"
Caso "Sessantanove"
Halala = " & 69/100 Riyal"
Caso "Settanta"
Halala = " & 70/100 Riyal"
Caso "Settantuno"
Halala = " & 71/100 Riyal"
Caso "Settantadue"
Halala = " & 72/100 Riyal"
Caso "Settantatré"
Halala = " & 73/100 Riyal"
Caso "Settantaquattro"
Halala = " & 74/100 Riyal"
Caso "Settantacinque"
Halala = " & 75/100 Riyal"
Caso "Settantasei"
Halala = " & 76/100 Riyal"
Caso "Settantasette"
Halala = " & 77/100 Riyal"
Caso "Settantotto"
Halala = " & 78/100 Riyal"
Caso "Settantanove"
Halala = " & 79/100 Riyal"
Caso "ottanta"
Halala = " & 80/100 Riyal"
Caso "Ottantuno"
Halala = " & 81/100 Riyal"
Caso "ottantadue"
Halala = " & 82/100 Riyal"
Caso "ottantatré"
Halala = " & 83/100 Riyal"
Caso "ottantaquattro"
Halala = " & 84/100 Riyal"
Caso "ottantacinque"
Halala = " & 85/100 Riyal"
Caso "ottantasei"
Halala = " & 86/100 Riyal"
Caso "ottantasette"
Halala = " & 87/100 Riyal"
Caso "Ottantotto"
Halala = " & 88/100 Riyal"
Caso "ottantanove"
Halala = " & 89/100 Riyal"
Caso "Novant'anni"
Halala = " & 90/100 Riyal"
Caso "Novantuno"
Halala = " & 91/100 Riyal"
Caso "Novantuno"
Halala = " & 92/100 Riyal"
Caso "Novantatré"
Halala = " & 93/100 Riyal"
Caso "Novantanove"
Halala = " & 94/100 Riyal"
Caso "Novantanove"
Halala = " & 95/100 Riyal"
Caso "Novantasei"
Halala = " & 96/100 Riyal"
Caso "Novantasette"
Halala = " & 97/100 Riyal"
Caso "Novantotto"
Halala = " & 98/100 Riyal"
Caso "Novantanove"
Halala = " & 99/100 Riyal"


Case Else
Halala = " & " & Halala & " Halala"
End Select
SpellBilling = Riyal e Halala
End Function


' Converte un numero da 100-999 in testo
Funzione GetHundreds(ByVal MyNumber)
Risultato debole come stringa
Se Val(MyNumber) = 0 allora Esci dalla funzione
MioNumero = Destra("000" & MioNumero, 3)
' Converti il ​​posto delle centinaia.
If Mid(MyNumber, 1, 1) <> "0" Allora
Risultato = GetDigit(Mid(MyNumber, 1, 1)) & "Cento"
End If
' Converti le decine e le unità.
If Mid(MyNumber, 2, 1) <> "0" Allora
Risultato = Risultato & GetTens(Mid(MyNumber, 2))
Altro
Risultato = Risultato & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Risultato
End Function

' Converte un numero da 10 a 99 in testo.
Funzione GetTens(TensText)
Risultato debole come stringa
Risultato = "" ' Annulla il valore della funzione temporanea.
If Val(Left(TensText, 1)) = 1 Then ' Se valore compreso tra 10-19...
Seleziona Case Val(TensText)
Caso 10: Risultato = "Dieci"
Caso 11: Risultato = "Undici"
Caso 12: Risultato = "Dodici"
Caso 13: Risultato = "Tredici"
Caso 14: Risultato = "Quattordici"
Caso 15: Risultato = "Quindici"
Caso 16: Risultato = "Sedici"
Caso 17: Risultato = "Diciassette"
Caso 18: Risultato = "Diciotto"
Caso 19: Risultato = "Diciannove"
Case Else
End Select
Altrimenti ' Se il valore è compreso tra 20-99...
Seleziona Case Val(Left(TensText, 1))
Caso 2: Risultato = "Venti"
Caso 3: Risultato = "Trenta"
Caso 4: Risultato = "Quaranta"
Caso 5: Risultato = "Cinquanta"
Caso 6: Risultato = "Sessanta"
Caso 7: Risultato = "Settanta"
Caso 8: Risultato = "Ottanta"
Caso 9: Risultato = "Novant'anni"
Case Else
End Select
Risultato = Risultato & GetDigit _
(Right(TensText, 1)) ' Recupera il posto.
End If
GetTens = Risultato
End Function

' Converte un numero da 1 a 9 in testo.
Funzione GetDigit(Cifra)
Seleziona Case Val (cifra)
Caso 1: GetDigit = "Uno"
Caso 2: GetDigit = "Due"
Caso 3: GetDigit = "Tre"
Caso 4: GetDigit = "Quattro"
Caso 5: GetDigit = "Cinque"
Caso 6: GetDigit = "Sei"
Caso 7: GetDigit = "Sette"
Caso 8: GetDigit = "Otto"
Caso 9: GetDigit = "Nove"
Altro caso: GetDigit = ""
End Select
End Function
Questo commento è stato fatto dal moderatore sul sito
Devo applicare tutta la cartella di lavoro di Excell. Come applicare questa codifica a tutte le cartelle di lavoro di Excel.
Questo commento è stato fatto dal moderatore sul sito
Rupie Quattordicimila Ottocento, Settantacinque Solo l'ultimo importo dovrebbe contenere la parola ed esempio
Solo rupie quattordicimilaottocentosettantacinque
Questo commento è stato fatto dal moderatore sul sito
non posso leggere più di 10 crore.
Questo commento è stato fatto dal moderatore sul sito
One Lac Sixty Nine Thousand Eighty One and Forty Two Paise - Non convertito correttamente. Inoltre, la cifra sopra non viene convertita quando viene arrotondata.
Questo commento è stato fatto dal moderatore sul sito
GRAZIE PER IL CODICE...
Questo commento è stato fatto dal moderatore sul sito
Grazie per la codifica. Ho applicato e il suo funzionamento. Ma si applica solo a quella particolare cartella di lavoro. Devo applicare tutta la cartella di lavoro di Excell. Come applicare questa codifica a tutte le cartelle di lavoro di Excel.
Questo commento è stato fatto dal moderatore sul sito
Ciao, SivaG
Sì, questo codice è una funzione definita dall'utente, dovresti applicare la formula ai file uno per uno, se hai bisogno di un codice da applicare a più cartelle di lavoro, verrà applicato a tutti i numeri, quindi tutti i numeri verranno modificati. E il codice non può supportare l'annullamento, ci sono alcuni rischi per la sicurezza. Non è consigliabile farlo. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Come si può rimuovere la parola "Rupie"? Normalmente le foglie di controllo hanno già la parola "Rupie".
Questo commento è stato fatto dal moderatore sul sito
Ciao, Sakariya
Per risolvere il tuo problema, applica il codice seguente:
Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(Str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function



Per favore, prova, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Grazie mille... 🙂
Questo commento è stato fatto dal moderatore sul sito
Ma questo è applicabile a un solo excel. Se inserisco questa formula in altri Excel, questo non funziona
qual è la soluzione per questo
per favore torna indietro
Questo commento è stato fatto dal moderatore sul sito
Ciao,

Se si dispone di più cartelle di lavoro, è necessario copiare il codice in più cartelle di lavoro.
Se lo copi solo in una cartella di lavoro, non funzionerà in altre cartelle di lavoro. 😀
Si prega di provare, grazie!
Questo commento è stato fatto dal moderatore sul sito
Grazie mille è molto utile
Questo commento è stato fatto dal moderatore sul sito
Salve signore, è possibile impostarlo per impostazione predefinita per ogni foglio di lavoro Excel o no?
Questo commento è stato fatto dal moderatore sul sito
Ciao Mukesh

Sì, fintanto che il codice viene copiato nel modulo della finestra vba, la formula può essere applicata all'intera cartella di lavoro.
Ma quando chiudi la cartella di lavoro, dovresti salvarla come Cartella di lavoro abilitata per Excel formato del file.
Si prega di provare, grazie!
Questo commento è stato fatto dal moderatore sul sito
Provato più volte non funziona. Per favore aiuto
Questo commento è stato fatto dal moderatore sul sito
Ehi, grande aiuto! Grazie per aver creato un codice così meraviglioso.

Ha risparmiato un sacco di tempo. "Dio ti benedica!!"
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL