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

Cum se convertesc numere în cuvinte în rupii indiene în Excel?

În acest articol, voi introduce cum să convertiți o listă de numere în cuvinte în rupii indiene sau dolari englezi în Excel.

Conversia numerelor în cuvinte în rupii indiene cu codul VBA

Convertiți numerele în cuvinte în dolari englezi cu o caracteristică uimitoare


Conversia numerelor în cuvinte în rupii indiene cu codul VBA

Următorul cod VBA vă poate ajuta să convertiți numerele în cuvinte în rupii, vă rugăm să procedați astfel:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în fereastra modulului.

Cod VBA: convertiți numerele în cuvinte în rupii

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. După introducerea codului, salvați și închideți fereastra de cod, reveniți la foaia de lucru și introduceți această formulă: = RupeeFormat (A2) într-o celulă goală, apoi trageți mânerul de umplere în jos pentru a aplica această formulă altor celule, toate numerele au fost exprimate în rupii, a se vedea captura de ecran:


Convertiți numerele în cuvinte în dolari englezi cu o caracteristică uimitoare

Dacă doriți să convertiți numerele în cuvinte în dolar englez, Kutools pentru Excel'S Numere la cuvinte funcția vă poate ajuta să rezolvați acest loc de muncă rapid și ușor.

Sfat:Pentru a aplica acest lucru Număr la cuvinte caracteristică, în primul rând, ar trebui să descărcați Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.

După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:

1. Selectați lista numerelor pe care doriți să le convertiți, apoi faceți clic pe Kutools > Conţinut > Numere la cuvinte, vezi capturi de ecran:

2. În Numere la cuvinte valutare fereastră de dialog, selectați Engleză opțiune de la Selecteaza limba , apoi faceți clic pe Ok , numerele din selecție au fost convertite în cuvintele în limba engleză, a se vedea captura de ecran:

Faceți clic pentru a descărca Kutools pentru Excel și încercare gratuită acum!

 


  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane și păstrarea datelor; Conținut de celule divizate; Combinați rânduri duplicate și sumă / medie... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Formule favorite și inserare rapidă, Gama, Diagrame și Imagini; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Gruparea tabelului pivot după numărul săptămânii, ziua săptămânii și multe altele ... Afișați celulele deblocate, blocate prin diferite culori; Evidențiați celulele care au formulă / nume...
fila kte 201905
  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab

 

Comentarii (22)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Excel se blochează când celula de referință nu are supapă!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, utilizator,
Vă mulțumim pentru comentariu, codul din acest articol a fost actualizat, vă rugăm să încercați din nou, vă mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Stimate domn,

Bună ziua,

Am testat formula de mai sus, nu funcționează cu cratima minus, cum ar fi -100 -10,000 sau (100) (10,000)

Domnule, folosesc codul de mai jos pentru ultimii 1 ani și astăzi am descoperit aceeași eroare.

Când scriu minus -10,000 sau (10,000) apare „Numai sută zece mii”
Când scriu 10,000 pozitive, funcționează grozav „Numai zece mii”

Exemplu de mai jos:

(10,000.99) Doar sută zece mii și 99/100 de riali
10,000.99 Doar zece mii și 99/100 de riali
(10,000,000.99) Doar sută zece milioane și 99/100 de riali
10,000,000.99 Doar zece milioane și 99/100 de riali
(10,000,000,000.99) Doar sute zece miliarde și 99/100 de riali
10,000,000,000.99 Doar zece miliarde și 99/100 de riali
(10,000,000,000,000.90) Doar sute zece trilioane și 90/100 de riali
10,000,000,000,000.90 Doar zece trilioane și 90/100 de riali

Formula = ortografia

CODUL MEU VBA:

'Functie principala
Funcția SpellBilling(ByVal MyNumber)
Dim Riyals, Halalas, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Locul (2) = „Mie”
Locul (3) = " Milion "
Locul (4) = " Miliard "
Locul (5) = " trilioane "
' Reprezentare în șir a sumei.
MyNumber = Trim(Str(MyNumber))
' Poziția zecimalei 0 dacă nu există.
DecimalPlace = InStr(MyNumber, ".")
' Convertiți Halalas și setați MyNumber la suma Riyal.
Dacă DecimalPlace > 0, atunci
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1)) & _
„00”, 2))
MyNumber = Trim(Stânga(MyNumber, DecimalPlace - 1))
Final, dacă
Număr = 1
Faceți în timp ce MyNumber <> ""
Temp = GetHundres(Dreapta(MyNumber, 3))
Dacă Temp <> "" Atunci Riyali = Temp & Loc(Număr) & Riyali
Dacă Len(MyNumber) > 3 Atunci
MyNumber = Stânga(MyNumber, Len(MyNumber) - 3)
Altfel
Numărul meu = ""
Final, dacă
Număr = Număr + 1
Buclă
Selectați Case Riyals
Cazul „”
Riyali = „Fără riyal”
Cazul „Unul”
Riyali = „Doar un riyal”
Alt caz
Riyali = „Numai” și Riyali
Riyali = Riyali și „”
Selectare sfârșit
Selectați Case Halalas
Cazul „”
Halalas = „& 00/00 Riyali”
Cazul „Unul”
Halalas = „& 01/100 Riyali”
Cazul „Doi”
Halalas = „& 02/100 Riyali”
Cazul „Trei”
Halalas = „& 03/100 Riyali”
Cazul „Patru”
Halalas = „& 04/100 Riyali”
Cazul „Cinci”
Halalas = „& 05/100 Riyali”
Cazul „Șase”
Halalas = „& 06/100 Riyali”
Cazul „Șapte”
Halalas = „& 07/100 Riyali”
Cazul „Opt”
Halalas = „& 08/100 Riyali”
Cazul „Nouă”
Halalas = „& 09/100 Riyali”
Cazul „Zece”
Halalas = „& 10/100 Riyali”
Cazul „Unsprezece”
Halalas = „& 11/100 Riyali”
Cazul „Doisprezece”
Halalas = „& 12/100 Riyali”
Cazul „Treisprezece”
Halalas = „& 13/100 Riyali”
Cazul „Paisprezece”
Halalas = „& 14/100 Riyali”
Cazul „Cincisprezece”
Halalas = „& 15/100 Riyali”
Cazul „Șaisprezece”
Halalas = „& 16/100 Riyali”
Cazul „Șaptesprezece”
Halalas = „& 17/100 Riyali”
Cazul „Optsprezece”
Halalas = „& 18/100 Riyali”
Cazul „Nouăsprezece”
Halalas = „& 19/100 Riyali”
Cazul „Douăzeci”
Halalas = „& 20/100 Riyali”
Cazul „Douăzeci și unu”
Halalas = „& 21/100 Riyali”
Cazul „Douăzeci și doi”
Halalas = „& 22/100 Riyali”
Cazul „Douăzeci și trei”
Halalas = „& 23/100 Riyali”
Cazul „Douăzeci și patru”
Halalas = „& 24/100 Riyali”
Cazul „Douăzeci și cinci”
Halalas = „& 25/100 Riyali”
Cazul „Douăzeci și șase”
Halalas = „& 26/100 Riyali”
Cazul „Douăzeci și șapte”
Halalas = „& 27/100 Riyali”
Cazul „Douăzeci și opt”
Halalas = „& 28/100 Riyali”
Cazul „Douăzeci și nouă”
Halalas = „& 29/100 Riyali”
Cazul „Treizeci”
Halalas = „& 30/100 Riyali”
Cazul „Treizeci și unu”
Halalas = „& 31/100 Riyali”
Cazul „Treizeci și doi”
Halalas = „& 32/100 Riyali”
Cazul „Treizeci și trei”
Halalas = „& 33/100 Riyali”
Cazul „Treizeci și patru”
Halalas = „& 34/100 Riyali”
Cazul „Treizeci și cinci”
Halalas = „& 35/100 Riyali”
Cazul „Treizeci și șase”
Halalas = „& 36/100 Riyali”
Cazul „Treizeci și șapte”
Halalas = „& 37/100 Riyali”
Cazul „Treizeci și opt”
Halalas = „& 38/100 Riyali”
Cazul „Thirty Nine”
Halalas = „& 39/100 Riyali”
Cazul „Patruzeci”
Halalas = „& 40/100 Riyali”
Cazul „Patruzeci și unu”
Halalas = „& 41/100 Riyali”
Cazul „Patruzeci și doi”
Halalas = „& 42/100 Riyali”
Cazul „Patruzeci și trei”
Halalas = „& 43/100 Riyali”
Cazul „Patruzeci și patru”
Halalas = „& 44/100 Riyali”
Cazul „Patruzeci și cinci”
Halalas = „& 45/100 Riyali”
Cazul „Patruzeci și șase”
Halalas = „& 46/100 Riyali”
Cazul „Patruzeci și șapte”
Halalas = „& 47/100 Riyali”
Cazul „Patruzeci și opt”
Halalas = „& 48/100 Riyali”
Cazul „Patruzeci și nouă”
Halalas = „& 49/100 Riyali”
Cazul „Fifty”
Halalas = „& 50/100 Riyali”
Cazul „Fifty One”
Halalas = „& 51/100 Riyali”
Cazul „Cincizeci și doi”
Halalas = „& 52/100 Riyali”
Cazul „Cincizeci și trei”
Halalas = „& 53/100 Riyali”
Cazul „Fifty Four”
Halalas = „& 54/100 Riyali”
Cazul „Fifty Five”
Halalas = „& 55/100 Riyali”
Cazul „Fifty Six”
Halalas = „& 56/100 Riyali”
Cazul „Fifty Seven”
Halalas = „& 57/100 Riyali”
Cazul „Fifty Eight”
Halalas = „& 58/100 Riyali”
Cazul „Fifty Nine”
Halalas = „& 59/100 Riyali”
Cazul „Șaizeci”
Halalas = „& 60/100 Riyali”
Cazul „Șaizeci și unu”
Halalas = „& 61/100 Riyali”
Cazul „Șaizeci și doi”
Halalas = „& 62/100 Riyali”
Cazul „Șaizeci și trei”
Halalas = „& 63/100 Riyali”
Cazul „Șaizeci și patru”
Halalas = „& 64/100 Riyali”
Cazul „Șaizeci și cinci”
Halalas = „& 65/100 Riyali”
Cazul „Șaizeci și șase”
Halalas = „& 66/100 Riyali”
Cazul „Șaizeci și șapte”
Halalas = „& 67/100 Riyali”
Cazul „Șaizeci și opt”
Halalas = „& 68/100 Riyali”
Cazul „Șaizeci și nouă”
Halalas = „& 69/100 Riyali”
Cazul „Șaptezeci”
Halalas = „& 70/100 Riyali”
Cazul „Șaptezeci și unu”
Halalas = „& 71/100 Riyali”
Cazul „Șaptezeci și doi”
Halalas = „& 72/100 Riyali”
Cazul „Șaptezeci și trei”
Halalas = „& 73/100 Riyali”
Cazul „Șaptezeci și patru”
Halalas = „& 74/100 Riyali”
Cazul „Șaptezeci și cinci”
Halalas = „& 75/100 Riyali”
Cazul „Șaptezeci și șase”
Halalas = „& 76/100 Riyali”
Cazul „Șaptezeci și șapte”
Halalas = „& 77/100 Riyali”
Cazul „Șaptezeci și opt”
Halalas = „& 78/100 Riyali”
Cazul „Șaptezeci și nouă”
Halalas = „& 79/100 Riyali”
Cazul „Ouzeci”
Halalas = „& 80/100 Riyali”
Cazul „Ouzeci și unu”
Halalas = „& 81/100 Riyali”
Cazul „Ouzeci și doi”
Halalas = „& 82/100 Riyali”
Cazul „Optzeci și trei”
Halalas = „& 83/100 Riyali”
Cazul „Ouzeci și patru”
Halalas = „& 84/100 Riyali”
Cazul „Ouzeci și cinci”
Halalas = „& 85/100 Riyali”
Cazul „Optzeci și șase”
Halalas = „& 86/100 Riyali”
Cazul „Optzeci și șapte”
Halalas = „& 87/100 Riyali”
Cazul „Optzeci și opt”
Halalas = „& 88/100 Riyali”
Cazul „Optzeci și nouă”
Halalas = „& 89/100 Riyali”
Cazul „Nouăzeci”
Halalas = „& 90/100 Riyali”
Cazul „Nouăzeci și unu”
Halalas = „& 91/100 Riyali”
Cazul „Nouăzeci și doi”
Halalas = „& 92/100 Riyali”
Cazul „Nouăzeci și trei”
Halalas = „& 93/100 Riyali”
Cazul „Nouăzeci și patru”
Halalas = „& 94/100 Riyali”
Cazul „Nouăzeci și cinci”
Halalas = „& 95/100 Riyali”
Cazul „Nouăzeci și șase”
Halalas = „& 96/100 Riyali”
Cazul „Nouăzeci și șapte”
Halalas = „& 97/100 Riyali”
Cazul „Nouăzeci și opt”
Halalas = „& 98/100 Riyali”
Cazul „Nouăzeci și nouă”
Halalas = „& 99/100 Riyali”


Alt caz
Halalas = " & " & Halalas & " Halalas "
Selectare sfârșit
SpellBilling = Riyali și Halalas
Sfârşit Funcţia


' Convertește un număr de la 100-999 în text
Funcția GetHundreds(ByVal MyNumber)
Dim rezultat ca șir
Dacă Val(MyNumber) = 0, Ieșire din funcție
Numărul meu = Dreapta ("000" și Numărul meu, 3)
' Convertiți locul sutelor.
Dacă Mid(MyNumber, 1, 1) <> „0” Atunci
Rezultat = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
Final, dacă
' Convertiți locul zecilor și unităților.
Dacă Mid(MyNumber, 2, 1) <> „0” Atunci
Rezultat = Result & GetTens(Mid(MyNumber, 2))
Altfel
Rezultat = Rezultat și GetDigit(Mid(MyNumber, 3))
Final, dacă
GetHundreds = Rezultat
Sfârşit Funcţia

' Convertește un număr de la 10 la 99 în text.
Funcția GetTens(TensText)
Dim rezultat ca șir
Rezultat = "" ' Anulați valoarea funcției temporare.
Dacă Val(Left(TensText, 1)) = 1, atunci ' Dacă valoarea între 10-19...
Selectați Valoare caz (TensText)
Cazul 10: Rezultat = „Zece”
Cazul 11: Rezultat = „Unsprezece”
Cazul 12: Rezultat = „Doisprezece”
Cazul 13: Rezultat = „Treisprezece”
Cazul 14: Rezultat = „Paisprezece”
Cazul 15: Rezultat = „Cincisprezece”
Cazul 16: Rezultat = „Șaisprezece”
Cazul 17: Rezultat = „Șaptesprezece”
Cazul 18: Rezultat = „Optsprezece”
Cazul 19: Rezultat = „Nouăsprezece”
Alt caz
Selectare sfârșit
Altfel ' Dacă valoarea între 20-99...
Selectați Case Val(Left(TensText, 1))
Cazul 2: Rezultat = „Douăzeci”
Cazul 3: Rezultat = „Treizeci”
Cazul 4: Rezultat = „Patruzeci”
Cazul 5: Rezultat = „Cincizeci”
Cazul 6: Rezultat = „Șaizeci”
Cazul 7: Rezultat = „Șaptezeci”
Cazul 8: Rezultat = „Optzeci”
Cazul 9: Rezultat = „Nouăzeci”
Alt caz
Selectare sfârșit
Rezultat = Rezultat și GetDigit _
(Dreapta(TensText, 1)) ' Preluați locul.
Final, dacă
GetTens = Rezultat
Sfârşit Funcţia

' Convertește un număr de la 1 la 9 în text.
Funcția GetDigit(Digit)
Selectați Valoare caz (cifră)
Cazul 1: GetDigit = „Unul”
Cazul 2: GetDigit = „Două”
Cazul 3: GetDigit = „Trei”
Cazul 4: GetDigit = „Patru”
Cazul 5: GetDigit = „Cinci”
Cazul 6: GetDigit = „Șase”
Cazul 7: GetDigit = „Șapte”
Cazul 8: GetDigit = „Opt”
Cazul 9: GetDigit = „Nouă”
Alt caz: GetDigit = ""
Selectare sfârșit
Sfârşit Funcţia
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nimic de spus! Extrem de super
Acest comentariu a fost redus la minimum de moderatorul de pe site
Stimate domn,

Bună ziua,
Am testat codul dvs. VBA, dar, din păcate, nu funcționează bine pe valori negative / minus precum -100 -10,000 / (100) (10,000).

Domnule, folosesc codul de mai jos în ultimii 1 ani și astăzi am descoperit aceeași eroare care se găsește și în codul dvs. VBA.

Când scriu minus -10,000 apare pe „Numai sută zece mii”
Când scriu 10,000 pozitiv, se vede că pe „Numai zece mii” funcționează bine

Exemplu de mai jos:

(10,000.99) Doar sută zece mii și 99/100 de riali
10,000.99 Doar zece mii și 99/100 de riali
(10,000,000.99) Doar sută zece milioane și 99/100 de riali
10,000,000.99 Doar zece milioane și 99/100 de riali
(10,000,000,000.99) Doar sute zece miliarde și 99/100 de riali
10,000,000,000.99 Doar zece miliarde și 99/100 de riali
(10,000,000,000,000.90) Doar sute zece trilioane și 90/100 de riali
10,000,000,000,000.90 Doar zece trilioane și 90/100 de riali

Formula = ortografia

CODUL MEU VBA:

'Functie principala
Funcția SpellBilling(ByVal MyNumber)
Dim Riyals, Halalas, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Locul (2) = „Mie”
Locul (3) = " Milion "
Locul (4) = " Miliard "
Locul (5) = " trilioane "
' Reprezentare în șir a sumei.
MyNumber = Trim(Str(MyNumber))
' Poziția zecimalei 0 dacă nu există.
DecimalPlace = InStr(MyNumber, ".")
' Convertiți Halalas și setați MyNumber la suma Riyal.
Dacă DecimalPlace > 0, atunci
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1)) & _
„00”, 2))
MyNumber = Trim(Stânga(MyNumber, DecimalPlace - 1))
Final, dacă
Număr = 1
Faceți în timp ce MyNumber <> ""
Temp = GetHundres(Dreapta(MyNumber, 3))
Dacă Temp <> "" Atunci Riyali = Temp & Loc(Număr) & Riyali
Dacă Len(MyNumber) > 3 Atunci
MyNumber = Stânga(MyNumber, Len(MyNumber) - 3)
Altfel
Numărul meu = ""
Final, dacă
Număr = Număr + 1
Buclă
Selectați Case Riyals
Cazul „”
Riyali = „Fără riyal”
Cazul „Unul”
Riyali = „Doar un riyal”
Alt caz
Riyali = „Numai” și Riyali
Riyali = Riyali și „”
Selectare sfârșit
Selectați Case Halalas
Cazul „”
Halalas = „& 00/00 Riyali”
Cazul „Unul”
Halalas = „& 01/100 Riyali”
Cazul „Doi”
Halalas = „& 02/100 Riyali”
Cazul „Trei”
Halalas = „& 03/100 Riyali”
Cazul „Patru”
Halalas = „& 04/100 Riyali”
Cazul „Cinci”
Halalas = „& 05/100 Riyali”
Cazul „Șase”
Halalas = „& 06/100 Riyali”
Cazul „Șapte”
Halalas = „& 07/100 Riyali”
Cazul „Opt”
Halalas = „& 08/100 Riyali”
Cazul „Nouă”
Halalas = „& 09/100 Riyali”
Cazul „Zece”
Halalas = „& 10/100 Riyali”
Cazul „Unsprezece”
Halalas = „& 11/100 Riyali”
Cazul „Doisprezece”
Halalas = „& 12/100 Riyali”
Cazul „Treisprezece”
Halalas = „& 13/100 Riyali”
Cazul „Paisprezece”
Halalas = „& 14/100 Riyali”
Cazul „Cincisprezece”
Halalas = „& 15/100 Riyali”
Cazul „Șaisprezece”
Halalas = „& 16/100 Riyali”
Cazul „Șaptesprezece”
Halalas = „& 17/100 Riyali”
Cazul „Optsprezece”
Halalas = „& 18/100 Riyali”
Cazul „Nouăsprezece”
Halalas = „& 19/100 Riyali”
Cazul „Douăzeci”
Halalas = „& 20/100 Riyali”
Cazul „Douăzeci și unu”
Halalas = „& 21/100 Riyali”
Cazul „Douăzeci și doi”
Halalas = „& 22/100 Riyali”
Cazul „Douăzeci și trei”
Halalas = „& 23/100 Riyali”
Cazul „Douăzeci și patru”
Halalas = „& 24/100 Riyali”
Cazul „Douăzeci și cinci”
Halalas = „& 25/100 Riyali”
Cazul „Douăzeci și șase”
Halalas = „& 26/100 Riyali”
Cazul „Douăzeci și șapte”
Halalas = „& 27/100 Riyali”
Cazul „Douăzeci și opt”
Halalas = „& 28/100 Riyali”
Cazul „Douăzeci și nouă”
Halalas = „& 29/100 Riyali”
Cazul „Treizeci”
Halalas = „& 30/100 Riyali”
Cazul „Treizeci și unu”
Halalas = „& 31/100 Riyali”
Cazul „Treizeci și doi”
Halalas = „& 32/100 Riyali”
Cazul „Treizeci și trei”
Halalas = „& 33/100 Riyali”
Cazul „Treizeci și patru”
Halalas = „& 34/100 Riyali”
Cazul „Treizeci și cinci”
Halalas = „& 35/100 Riyali”
Cazul „Treizeci și șase”
Halalas = „& 36/100 Riyali”
Cazul „Treizeci și șapte”
Halalas = „& 37/100 Riyali”
Cazul „Treizeci și opt”
Halalas = „& 38/100 Riyali”
Cazul „Thirty Nine”
Halalas = „& 39/100 Riyali”
Cazul „Patruzeci”
Halalas = „& 40/100 Riyali”
Cazul „Patruzeci și unu”
Halalas = „& 41/100 Riyali”
Cazul „Patruzeci și doi”
Halalas = „& 42/100 Riyali”
Cazul „Patruzeci și trei”
Halalas = „& 43/100 Riyali”
Cazul „Patruzeci și patru”
Halalas = „& 44/100 Riyali”
Cazul „Patruzeci și cinci”
Halalas = „& 45/100 Riyali”
Cazul „Patruzeci și șase”
Halalas = „& 46/100 Riyali”
Cazul „Patruzeci și șapte”
Halalas = „& 47/100 Riyali”
Cazul „Patruzeci și opt”
Halalas = „& 48/100 Riyali”
Cazul „Patruzeci și nouă”
Halalas = „& 49/100 Riyali”
Cazul „Fifty”
Halalas = „& 50/100 Riyali”
Cazul „Fifty One”
Halalas = „& 51/100 Riyali”
Cazul „Cincizeci și doi”
Halalas = „& 52/100 Riyali”
Cazul „Cincizeci și trei”
Halalas = „& 53/100 Riyali”
Cazul „Fifty Four”
Halalas = „& 54/100 Riyali”
Cazul „Fifty Five”
Halalas = „& 55/100 Riyali”
Cazul „Fifty Six”
Halalas = „& 56/100 Riyali”
Cazul „Fifty Seven”
Halalas = „& 57/100 Riyali”
Cazul „Fifty Eight”
Halalas = „& 58/100 Riyali”
Cazul „Fifty Nine”
Halalas = „& 59/100 Riyali”
Cazul „Șaizeci”
Halalas = „& 60/100 Riyali”
Cazul „Șaizeci și unu”
Halalas = „& 61/100 Riyali”
Cazul „Șaizeci și doi”
Halalas = „& 62/100 Riyali”
Cazul „Șaizeci și trei”
Halalas = „& 63/100 Riyali”
Cazul „Șaizeci și patru”
Halalas = „& 64/100 Riyali”
Cazul „Șaizeci și cinci”
Halalas = „& 65/100 Riyali”
Cazul „Șaizeci și șase”
Halalas = „& 66/100 Riyali”
Cazul „Șaizeci și șapte”
Halalas = „& 67/100 Riyali”
Cazul „Șaizeci și opt”
Halalas = „& 68/100 Riyali”
Cazul „Șaizeci și nouă”
Halalas = „& 69/100 Riyali”
Cazul „Șaptezeci”
Halalas = „& 70/100 Riyali”
Cazul „Șaptezeci și unu”
Halalas = „& 71/100 Riyali”
Cazul „Șaptezeci și doi”
Halalas = „& 72/100 Riyali”
Cazul „Șaptezeci și trei”
Halalas = „& 73/100 Riyali”
Cazul „Șaptezeci și patru”
Halalas = „& 74/100 Riyali”
Cazul „Șaptezeci și cinci”
Halalas = „& 75/100 Riyali”
Cazul „Șaptezeci și șase”
Halalas = „& 76/100 Riyali”
Cazul „Șaptezeci și șapte”
Halalas = „& 77/100 Riyali”
Cazul „Șaptezeci și opt”
Halalas = „& 78/100 Riyali”
Cazul „Șaptezeci și nouă”
Halalas = „& 79/100 Riyali”
Cazul „Ouzeci”
Halalas = „& 80/100 Riyali”
Cazul „Ouzeci și unu”
Halalas = „& 81/100 Riyali”
Cazul „Ouzeci și doi”
Halalas = „& 82/100 Riyali”
Cazul „Optzeci și trei”
Halalas = „& 83/100 Riyali”
Cazul „Ouzeci și patru”
Halalas = „& 84/100 Riyali”
Cazul „Ouzeci și cinci”
Halalas = „& 85/100 Riyali”
Cazul „Optzeci și șase”
Halalas = „& 86/100 Riyali”
Cazul „Optzeci și șapte”
Halalas = „& 87/100 Riyali”
Cazul „Optzeci și opt”
Halalas = „& 88/100 Riyali”
Cazul „Optzeci și nouă”
Halalas = „& 89/100 Riyali”
Cazul „Nouăzeci”
Halalas = „& 90/100 Riyali”
Cazul „Nouăzeci și unu”
Halalas = „& 91/100 Riyali”
Cazul „Nouăzeci și doi”
Halalas = „& 92/100 Riyali”
Cazul „Nouăzeci și trei”
Halalas = „& 93/100 Riyali”
Cazul „Nouăzeci și patru”
Halalas = „& 94/100 Riyali”
Cazul „Nouăzeci și cinci”
Halalas = „& 95/100 Riyali”
Cazul „Nouăzeci și șase”
Halalas = „& 96/100 Riyali”
Cazul „Nouăzeci și șapte”
Halalas = „& 97/100 Riyali”
Cazul „Nouăzeci și opt”
Halalas = „& 98/100 Riyali”
Cazul „Nouăzeci și nouă”
Halalas = „& 99/100 Riyali”


Alt caz
Halalas = " & " & Halalas & " Halalas "
Selectare sfârșit
SpellBilling = Riyali și Halalas
Sfârşit Funcţia


' Convertește un număr de la 100-999 în text
Funcția GetHundreds(ByVal MyNumber)
Dim rezultat ca șir
Dacă Val(MyNumber) = 0, Ieșire din funcție
Numărul meu = Dreapta ("000" și Numărul meu, 3)
' Convertiți locul sutelor.
Dacă Mid(MyNumber, 1, 1) <> „0” Atunci
Rezultat = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
Final, dacă
' Convertiți locul zecilor și unităților.
Dacă Mid(MyNumber, 2, 1) <> „0” Atunci
Rezultat = Result & GetTens(Mid(MyNumber, 2))
Altfel
Rezultat = Rezultat și GetDigit(Mid(MyNumber, 3))
Final, dacă
GetHundreds = Rezultat
Sfârşit Funcţia

' Convertește un număr de la 10 la 99 în text.
Funcția GetTens(TensText)
Dim rezultat ca șir
Rezultat = "" ' Anulați valoarea funcției temporare.
Dacă Val(Left(TensText, 1)) = 1, atunci ' Dacă valoarea între 10-19...
Selectați Valoare caz (TensText)
Cazul 10: Rezultat = „Zece”
Cazul 11: Rezultat = „Unsprezece”
Cazul 12: Rezultat = „Doisprezece”
Cazul 13: Rezultat = „Treisprezece”
Cazul 14: Rezultat = „Paisprezece”
Cazul 15: Rezultat = „Cincisprezece”
Cazul 16: Rezultat = „Șaisprezece”
Cazul 17: Rezultat = „Șaptesprezece”
Cazul 18: Rezultat = „Optsprezece”
Cazul 19: Rezultat = „Nouăsprezece”
Alt caz
Selectare sfârșit
Altfel ' Dacă valoarea între 20-99...
Selectați Case Val(Left(TensText, 1))
Cazul 2: Rezultat = „Douăzeci”
Cazul 3: Rezultat = „Treizeci”
Cazul 4: Rezultat = „Patruzeci”
Cazul 5: Rezultat = „Cincizeci”
Cazul 6: Rezultat = „Șaizeci”
Cazul 7: Rezultat = „Șaptezeci”
Cazul 8: Rezultat = „Optzeci”
Cazul 9: Rezultat = „Nouăzeci”
Alt caz
Selectare sfârșit
Rezultat = Rezultat și GetDigit _
(Dreapta(TensText, 1)) ' Preluați locul.
Final, dacă
GetTens = Rezultat
Sfârşit Funcţia

' Convertește un număr de la 1 la 9 în text.
Funcția GetDigit(Digit)
Selectați Valoare caz (cifră)
Cazul 1: GetDigit = „Unul”
Cazul 2: GetDigit = „Două”
Cazul 3: GetDigit = „Trei”
Cazul 4: GetDigit = „Patru”
Cazul 5: GetDigit = „Cinci”
Cazul 6: GetDigit = „Șase”
Cazul 7: GetDigit = „Șapte”
Cazul 8: GetDigit = „Opt”
Cazul 9: GetDigit = „Nouă”
Alt caz: GetDigit = ""
Selectare sfârșit
Sfârşit Funcţia
Acest comentariu a fost redus la minimum de moderatorul de pe site
Trebuie să aplic toate caietul de lucru Excell. Cum să aplicați această codificare la toate cărțile de lucru Excel.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Paisprezece mii opt sute, șaptezeci și cinci de rupii Numai ultima sumă ar trebui să aibă cuvântul și exemplu
Numai paisprezece mii opt sute șaptezeci și cinci de rupii
Acest comentariu a fost redus la minimum de moderatorul de pe site
nu pot citi mai mult de 10 crore.
Acest comentariu a fost redus la minimum de moderatorul de pe site
One Lac Sixty Nine Thousand Eighty One și Paise Two Paise - Nu a fost convertit corect. De asemenea, nu a fost convertit cifra de mai sus atunci când este rotunjită.
Acest comentariu a fost redus la minimum de moderatorul de pe site
MULȚUMESC PENTRU COD...
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc pentru codare. Am aplicat și funcționează. Dar se aplică numai pentru acel registru de lucru. Trebuie să aplic toate caietul de lucru Excell. Cum să aplicați această codificare la toate cărțile de lucru Excel.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, SivaG
Da, acest cod este o funcție definită de utilizator, ar trebui să aplicați formula fișierelor unul câte unul, dacă aveți nevoie de un cod de aplicat mai multor registre de lucru, acesta se va aplica tuturor numerelor, astfel încât toate numerele vor fi modificate. Și codul nu poate suporta anularea, există anumite riscuri de securitate. Nu este recomandat să faceți acest lucru. Mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum se poate elimina cuvântul „Rupie”? În mod normal, frunzele de cec au deja cuvântul „Rupii”.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Sakariya
Pentru a vă rezolva problema, vă rugăm să aplicați codul de mai jos:
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



Vă rugăm să încercați, sper că vă poate ajuta!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult... 🙂
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dar acest lucru se aplică doar unui excel. Dacă introdu această formulă în alt Excel, aceasta nu funcționează
care este solutia pentru asta
va rog reveniti
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna,

Dacă aveți mai multe registre de lucru, trebuie să copiați codul în mai multe registre de lucru.
Dacă îl copiați doar într-un singur registru de lucru, nu va funcționa în alte registre de lucru. 😀
Vă rugăm să încercați, mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult, este foarte util
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună domnule, Este posibil să setați acest lucru implicit pentru fiecare foaie de lucru Excel sau nu?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Mukesh

Da, atâta timp cât codul este copiat în modulul ferestrei vba, formula poate fi aplicată întregului registru de lucru.
Dar când închideți registrul de lucru, ar trebui să îl salvați ca Cartea de lucru Excel Macro-Enabled tipul fisierului.
Vă rugăm să încercați, vă mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Incercat de mai multe ori nu merge. Te rog ajuta-ma
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei, mare ajutor! Mulțumesc pentru crearea unui cod atât de minunat.

A economisit mult timp. "Dumnezeu sa te binecuvanteze!!"
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL