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

Hogyan konvertálhatom a számokat szavakra indiai rúpiában az Excelben?

Ebben a cikkben bemutatom, hogyan lehet konvertálni a számok listáját szavakba indiai rúpia vagy angol dollár az Excel programban.

Konvertálja a számokat szavakká indiai rúpia VBA kóddal

Konvertálja a számokat szavakba angol dollárban, csodálatos funkcióval


Konvertálja a számokat szavakká indiai rúpia VBA kóddal

A következő VBA-kód segíthet a számok konvertálásában rúpia szavakba, kérjük, tegye a következőket:

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablakba.

VBA kód: Számok konvertálása szavakba rúpiában

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. A kód beillesztése után mentse el és zárja be a kód ablakot, térjen vissza a munkalapra, és írja be ezt a képletet: = RupeeFormat (A2) egy üres cellába, majd húzza lefelé a kitöltő fogantyút, hogy ezt a képletet más cellákra is alkalmazza, az összes számot rúpia írja ki, lásd a képernyőképet:


Konvertálja a számokat szavakba angol dollárban, csodálatos funkcióval

Ha a számokat angol dollárra kívánja alakítani szavakra, Kutools az Excel számára'S Számok szavakig funkció segítségével könnyedén és gyorsan megoldhatja ezt a munkát.

Tipp:Ennek alkalmazásához Szám szavakig funkció, először is le kell töltenie a Kutools az Excel számára, majd gyorsan és egyszerűen alkalmazza a funkciót.

Telepítése után Kutools az Excel számára, kérjük, tegye a következőket:

1. Válassza ki az átalakítani kívánt számok listáját, majd kattintson a gombra Kutools > Tartalom > Számok szavakig, lásd a képernyőképeket:

2. Az Számok pénznem szavakra párbeszédpanelen válassza ki Angol lehetőség a Nyelvek szakaszra, majd kattintson a gombra Ok gombra, a kiválasztott számok angol nyelvű szavakká lettek átalakítva, lásd a képernyőképet

Kattintson a Kutools for Excel és az ingyenes próbaverzió letöltéséhez!

 


  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése és az adatok megőrzése; Osztott cellák tartalma; Kombinálja az ismétlődő sorokat és az Összeg / Átlagot... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kedvenc és gyorsan beszúrható képletek, Tartományok, diagramok és képek; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Pivot tábla csoportosítás hét száma, a hét napja és egyebek ... Mutassa a Feloldott, Zárt cellákat különböző színekkel; Jelölje ki azokat a cellákat, amelyeknek képlete / neve van...
kte lap 201905
  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja

 

A megjegyzések rendezése szerint
Hozzászólások (22)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Az Excel összeomlik, ha a referenciacellában nincs szelep!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Felhasználó!
Köszönjük észrevételét, a cikkben szereplő kód frissült, próbálja újra, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Tisztelt Uram,

Jó napot,

A fenti képletet teszteltem, hogy nem működik kötőjel mínusz értékekkel, például -100 -10,000 100 vagy (10,000) (XNUMX XNUMX)

Uram, az alábbi kódot használom az elmúlt 1 évben, és ma ugyanazt a hibát fedeztem fel.

Amikor mínusz -10,000 10,000 vagy (XNUMX XNUMX) értéket írok, a "Csak száztízezer" felirat jelenik meg.
Amikor a Pozitív 10,000 XNUMX-et írom, akkor remekül működik: „Csak tízezer”

Alábbi példa:

(10,000.99 99) Csak száztízezer és 100/XNUMX riál
10,000.99 99 Csak tízezer és 100/XNUMX riál
(10,000,000.99 99 100) Csak száztíz millió és XNUMX/XNUMX riál
10,000,000.99 99 100 csak tízmillió és XNUMX/XNUMX riál
(10,000,000,000.99 99 100 XNUMX) Csak száztízmilliárd és XNUMX/XNUMX riál
10,000,000,000.99 99 100 XNUMX Csak tízmilliárd és XNUMX/XNUMX riál
(10,000,000,000,000.90 90 100 XNUMX XNUMX) Csak száztíz billió és XNUMX/XNUMX riál
10,000,000,000,000.90 90 100 XNUMX XNUMX csak tíz billió és XNUMX/XNUMX riál

Képlet =spellbilling

VBA KÓDOM:

'Fő funkció
Funkció SpellBilling (ByVal MyNumber)
Dim Rials, Halalas, Temp
Halvány tizedeshely, gróf
ReDim Place(9) As String
Hely(2) = " Ezer "
Hely(3) = "millió"
Hely(4) = " milliárd "
Hely(5) = "Trillió"
' Az összeg karakterlánc-ábrázolása.
SajátSzám = Trim(Str(SajátSzám))
' A tizedesjegy helye 0, ha nincs.
DecimalPlace = InStr(SajátSzám, ".")
' Alakítsa át a Halalas-t, és állítsa be a MyNumber-t Riyal összegre.
Ha DecimalPlace > 0 Akkor
Halalas = GetTens(Left(Mid(SajátSzam, Tizedeshely + 1) & _
"00", 2))
SajátSzám = Vágás(bal(SajátSzám, Tizedeshely - 1))
Ha véget
Szám = 1
Csináld, amíg a MyNumber <> ""
Hőmérséklet = Get Hundreds (Jobb (Saját Szám, 3))
Ha Temp <> "" Akkor Riál = Temp & Place(Count) & Rials
Ha Len(MyNumber) > 3 Akkor
Saját Szám = Bal(SajátSzám, Len(SajátSzám) - 3)
Más
Saját Szám = ""
Ha véget
Szám = Szám + 1
Hurok
Válassza a Case Riyals lehetőséget
"" eset
Riyals = "nincs riál"
"Egy" eset
Rials = "Csak egy riál"
Más eset
Riyals = "Csak" & Rials
Rials = riál és ""
Vége kiválasztása
Válassza a Halalas esetet
"" eset
Halalas = "& 00/00 riál"
"Egy" eset
Halalas = "& 01/100 riál"
"Kettő" eset
Halalas = "& 02/100 riál"
"Három" eset
Halalas = "& 03/100 riál"
"Négy" eset
Halalas = "& 04/100 riál"
"Ötös" eset
Halalas = "& 05/100 riál"
"Hat" eset
Halalas = "& 06/100 riál"
"Hét" eset
Halalas = "& 07/100 riál"
"Nyolcas" eset
Halalas = "& 08/100 riál"
"Kilenc" eset
Halalas = "& 09/100 riál"
"Tíz" eset
Halalas = "& 10/100 riál"
"Tizenegy" eset
Halalas = "& 11/100 riál"
"Tizenkettő" eset
Halalas = "& 12/100 riál"
"Tizenhárom" eset
Halalas = "& 13/100 riál"
"Tizennégy" eset
Halalas = "& 14/100 riál"
"Tizenöt" eset
Halalas = "& 15/100 riál"
"Tizenhat" eset
Halalas = "& 16/100 riál"
"Tizenhét" eset
Halalas = "& 17/100 riál"
"Tizennyolc" eset
Halalas = "& 18/100 riál"
"Tizenkilenc" eset
Halalas = "& 19/100 riál"
"Húszas" eset
Halalas = "& 20/100 riál"
"Huszonegy" eset
Halalas = "& 21/100 riál"
"Huszonkettő" eset
Halalas = "& 22/100 riál"
"Huszonhárom" eset
Halalas = "& 23/100 riál"
"Huszonnégy" eset
Halalas = "& 24/100 riál"
"Huszonöt" eset
Halalas = "& 25/100 riál"
"Huszonhat" eset
Halalas = "& 26/100 riál"
"Huszonhét" eset
Halalas = "& 27/100 riál"
"Huszonnyolc" eset
Halalas = "& 28/100 riál"
"Huszonkilences" eset
Halalas = "& 29/100 riál"
"Harminc" eset
Halalas = "& 30/100 riál"
"Harmincegy" eset
Halalas = "& 31/100 riál"
"Harminckettő" eset
Halalas = "& 32/100 riál"
"Harminchárom" eset
Halalas = "& 33/100 riál"
"Harmincnégy" eset
Halalas = "& 34/100 riál"
"Harmincöt" eset
Halalas = "& 35/100 riál"
"Harminchat" eset
Halalas = "& 36/100 riál"
"Harminchét" eset
Halalas = "& 37/100 riál"
"Harmincnyolc" eset
Halalas = "& 38/100 riál"
"Harminckilenc" eset
Halalas = "& 39/100 riál"
"Negyven" eset
Halalas = "& 40/100 riál"
"Negyvenegy" eset
Halalas = "& 41/100 riál"
"Negyvenkettő" eset
Halalas = "& 42/100 riál"
"Negyvenhárom" eset
Halalas = "& 43/100 riál"
"Negyvennégy" eset
Halalas = "& 44/100 riál"
"Negyvenöt" eset
Halalas = "& 45/100 riál"
"Negyvenhat" eset
Halalas = "& 46/100 riál"
"Negyvenhét" eset
Halalas = "& 47/100 riál"
"Negyvennyolc" eset
Halalas = "& 48/100 riál"
"Negyvenkilenc" eset
Halalas = "& 49/100 riál"
"Ötven" eset
Halalas = "& 50/100 riál"
"Ötvenegy" eset
Halalas = "& 51/100 riál"
"Ötvenkettő" eset
Halalas = "& 52/100 riál"
"Ötvenhárom" eset
Halalas = "& 53/100 riál"
"Ötvennégy" eset
Halalas = "& 54/100 riál"
"Fifty Five" eset
Halalas = "& 55/100 riál"
"Fifty Six" eset
Halalas = "& 56/100 riál"
"Ötvenhét" eset
Halalas = "& 57/100 riál"
"Ötvennyolc" eset
Halalas = "& 58/100 riál"
"Ötvenkilenc" eset
Halalas = "& 59/100 riál"
"Hatvan" eset
Halalas = "& 60/100 riál"
"Hatvanegy" eset
Halalas = "& 61/100 riál"
"Hatvankettő" eset
Halalas = "& 62/100 riál"
"Hatvanhárom" eset
Halalas = "& 63/100 riál"
"Hatvannégy" eset
Halalas = "& 64/100 riál"
"Hatvanöt" eset
Halalas = "& 65/100 riál"
"Hatvanhat" eset
Halalas = "& 66/100 riál"
"Hatvanhét" eset
Halalas = "& 67/100 riál"
"Hatvannyolc" eset
Halalas = "& 68/100 riál"
"Hatvankilenc" eset
Halalas = "& 69/100 riál"
"Hetven" eset
Halalas = "& 70/100 riál"
"Hetvenegy" eset
Halalas = "& 71/100 riál"
"Hetvenkettő" eset
Halalas = "& 72/100 riál"
"Hetvenhárom" eset
Halalas = "& 73/100 riál"
"Hetvennégy" eset
Halalas = "& 74/100 riál"
"Hetvenöt" eset
Halalas = "& 75/100 riál"
"Hetvenhat" eset
Halalas = "& 76/100 riál"
"Hetvenhét" eset
Halalas = "& 77/100 riál"
"Hetvennyolc" eset
Halalas = "& 78/100 riál"
"Hetvenkilenc" eset
Halalas = "& 79/100 riál"
"Nyolcvan" eset
Halalas = "& 80/100 riál"
"Nyolcvanegy" eset
Halalas = "& 81/100 riál"
"Nyolcvankettő" eset
Halalas = "& 82/100 riál"
"Nyolcvanhárom" eset
Halalas = "& 83/100 riál"
"Nyolcvannégy" eset
Halalas = "& 84/100 riál"
"Nyolcvanöt" eset
Halalas = "& 85/100 riál"
"Nyolcvanhat" eset
Halalas = "& 86/100 riál"
"Nyolcvanhét" eset
Halalas = "& 87/100 riál"
"Nyolcvannyolc" eset
Halalas = "& 88/100 riál"
"Nyolcvankilences" eset
Halalas = "& 89/100 riál"
"Ninety" eset
Halalas = "& 90/100 riál"
"Kilencvenegy" eset
Halalas = "& 91/100 riál"
"Kilencvenkettő" eset
Halalas = "& 92/100 riál"
"Kilencvenhárom" eset
Halalas = "& 93/100 riál"
"Kilencvennégy" eset
Halalas = "& 94/100 riál"
"Ninety Five" eset
Halalas = "& 95/100 riál"
"Kilencvenhat" eset
Halalas = "& 96/100 riál"
"Kilencvenhét" eset
Halalas = "& 97/100 riál"
"Kilencvennyolc" eset
Halalas = "& 98/100 riál"
"Kilencvenkilenc" eset
Halalas = "& 99/100 riál"


Más eset
Halalas = " & " & Halalas & " Halalas"
Vége kiválasztása
SpellBilling = Riyals & Halalas
end Function


' 100 és 999 közötti számokat szöveggé alakít
Funkció GetHundreds (ByVal MyNumber)
Dim Eredmény karakterláncként
Ha Val(MyNumber) = 0, akkor lépjen ki a függvényből
MyNumber = jobb ("000" & SajátSzám, 3)
' Váltsa át a százas helyeket.
Ha Közép(SajátSzám, 1, 1) <> "0" Akkor
Eredmény = GetDigit(Mid(SajátSzám, 1, 1)) & " Száz "
Ha véget
' Váltsd át a tízes és egyes helyeket.
Ha Közép(SajátSzám, 2, 1) <> "0" Akkor
Eredmény = Eredmény & GetTens(Közép(SajátSzám, 2))
Más
Eredmény = Eredmény & GetDigit(Közép(SajátSzám, 3))
Ha véget
GetHundreds = Eredmény
end Function

' Egy számot 10-ről 99-re alakít át szöveggé.
GetTens függvény (TensText)
Dim Eredmény karakterláncként
Eredmény = "" ' Az ideiglenes függvényérték nullázása.
Ha Val(Left(TensText, 1)) = 1 Akkor ' Ha 10-19 között van...
Select Case Val (TensText)
10. eset: Eredmény = "Tíz"
11. eset: Eredmény = "tizenegy"
12. eset: Eredmény = "tizenkettő"
13. eset: Eredmény = "Tizenhárom"
14. eset: Eredmény = "Tizennégy"
15. eset: Eredmény = "tizenöt"
16. eset: Eredmény = "Tizenhat"
17. eset: Eredmény = "Tizenhét"
18. eset: Eredmény = "tizennyolc"
19. eset: Eredmény = "tizenkilenc"
Más eset
Vége kiválasztása
Else ' Ha az érték 20-99 között van...
Válassza a Case Val (Bal (TensText, 1))
2. eset: Eredmény = "Húsz"
3. eset: Eredmény = "harminc"
4. eset: Eredmény = "Negyven"
5. eset: Eredmény = "ötven"
6. eset: Eredmény = "hatvan"
7. eset: Eredmény = "hetven"
8. eset: Eredmény = "nyolcvan"
9. eset: Eredmény = "kilencven"
Más eset
Vége kiválasztása
Eredmény = Eredmény & GetDigit _
(Jobb (Tízszöveg, 1)) ' Egyes hely visszakeresése.
Ha véget
GetTens = Eredmény
end Function

' Egy számot 1-ről 9-re alakít át szöveggé.
Függvény GetDigit(Digit)
Select Case Val (számjegy)
1. eset: GetDigit = "Egy"
2. eset: GetDigit = "kettő"
3. eset: GetDigit = "Három"
4. eset: GetDigit = "Négy"
5. eset: GetDigit = "öt"
6. eset: GetDigit = "hat"
7. eset: GetDigit = "Hét"
8. eset: GetDigit = "Nyolc"
9. eset: GetDigit = "kilenc"
Más eset: GetDigit = ""
Vége kiválasztása
end Function
A weboldal moderátora ezt a megjegyzést minimalizálta
Nincs mit mondani! Rendkívül szuper
A weboldal moderátora ezt a megjegyzést minimalizálta
Tisztelt Uram,

Jó napot,
Teszteltem a VBA-kódot, de sajnos nem működik jól negatív / mínusz értékeken, például -100 -10,000 100 / (10,000) (XNUMX XNUMX).

Uram, az alábbi kódot használom az elmúlt 1 évben, és ma ugyanazt a hibát fedeztem fel, amely az Ön VBA-kódjában is megtalálható.

Amikor mínusz -10,000 XNUMX-et írok, a "Csak száztízezer" felirat jelenik meg.
Amikor pozitív 10,000 XNUMX-et írok, akkor a "Csak tízezer" feliraton jól működik

Alábbi példa:

(10,000.99 99) Csak száztízezer és 100/XNUMX riál
10,000.99 99 Csak tízezer és 100/XNUMX riál
(10,000,000.99 99 100) Csak száztíz millió és XNUMX/XNUMX riál
10,000,000.99 99 100 csak tízmillió és XNUMX/XNUMX riál
(10,000,000,000.99 99 100 XNUMX) Csak száztízmilliárd és XNUMX/XNUMX riál
10,000,000,000.99 99 100 XNUMX Csak tízmilliárd és XNUMX/XNUMX riál
(10,000,000,000,000.90 90 100 XNUMX XNUMX) Csak száztíz billió és XNUMX/XNUMX riál
10,000,000,000,000.90 90 100 XNUMX XNUMX csak tíz billió és XNUMX/XNUMX riál

Képlet =spellbilling

VBA KÓDOM:

'Fő funkció
Funkció SpellBilling (ByVal MyNumber)
Dim Rials, Halalas, Temp
Halvány tizedeshely, gróf
ReDim Place(9) As String
Hely(2) = " Ezer "
Hely(3) = "millió"
Hely(4) = " milliárd "
Hely(5) = "Trillió"
' Az összeg karakterlánc-ábrázolása.
SajátSzám = Trim(Str(SajátSzám))
' A tizedesjegy helye 0, ha nincs.
DecimalPlace = InStr(SajátSzám, ".")
' Alakítsa át a Halalas-t, és állítsa be a MyNumber-t Riyal összegre.
Ha DecimalPlace > 0 Akkor
Halalas = GetTens(Left(Mid(SajátSzam, Tizedeshely + 1) & _
"00", 2))
SajátSzám = Vágás(bal(SajátSzám, Tizedeshely - 1))
Ha véget
Szám = 1
Csináld, amíg a MyNumber <> ""
Hőmérséklet = Get Hundreds (Jobb (Saját Szám, 3))
Ha Temp <> "" Akkor Riál = Temp & Place(Count) & Rials
Ha Len(MyNumber) > 3 Akkor
Saját Szám = Bal(SajátSzám, Len(SajátSzám) - 3)
Más
Saját Szám = ""
Ha véget
Szám = Szám + 1
Hurok
Válassza a Case Riyals lehetőséget
"" eset
Riyals = "nincs riál"
"Egy" eset
Rials = "Csak egy riál"
Más eset
Riyals = "Csak" & Rials
Rials = riál és ""
Vége kiválasztása
Válassza a Halalas esetet
"" eset
Halalas = "& 00/00 riál"
"Egy" eset
Halalas = "& 01/100 riál"
"Kettő" eset
Halalas = "& 02/100 riál"
"Három" eset
Halalas = "& 03/100 riál"
"Négy" eset
Halalas = "& 04/100 riál"
"Ötös" eset
Halalas = "& 05/100 riál"
"Hat" eset
Halalas = "& 06/100 riál"
"Hét" eset
Halalas = "& 07/100 riál"
"Nyolcas" eset
Halalas = "& 08/100 riál"
"Kilenc" eset
Halalas = "& 09/100 riál"
"Tíz" eset
Halalas = "& 10/100 riál"
"Tizenegy" eset
Halalas = "& 11/100 riál"
"Tizenkettő" eset
Halalas = "& 12/100 riál"
"Tizenhárom" eset
Halalas = "& 13/100 riál"
"Tizennégy" eset
Halalas = "& 14/100 riál"
"Tizenöt" eset
Halalas = "& 15/100 riál"
"Tizenhat" eset
Halalas = "& 16/100 riál"
"Tizenhét" eset
Halalas = "& 17/100 riál"
"Tizennyolc" eset
Halalas = "& 18/100 riál"
"Tizenkilenc" eset
Halalas = "& 19/100 riál"
"Húszas" eset
Halalas = "& 20/100 riál"
"Huszonegy" eset
Halalas = "& 21/100 riál"
"Huszonkettő" eset
Halalas = "& 22/100 riál"
"Huszonhárom" eset
Halalas = "& 23/100 riál"
"Huszonnégy" eset
Halalas = "& 24/100 riál"
"Huszonöt" eset
Halalas = "& 25/100 riál"
"Huszonhat" eset
Halalas = "& 26/100 riál"
"Huszonhét" eset
Halalas = "& 27/100 riál"
"Huszonnyolc" eset
Halalas = "& 28/100 riál"
"Huszonkilences" eset
Halalas = "& 29/100 riál"
"Harminc" eset
Halalas = "& 30/100 riál"
"Harmincegy" eset
Halalas = "& 31/100 riál"
"Harminckettő" eset
Halalas = "& 32/100 riál"
"Harminchárom" eset
Halalas = "& 33/100 riál"
"Harmincnégy" eset
Halalas = "& 34/100 riál"
"Harmincöt" eset
Halalas = "& 35/100 riál"
"Harminchat" eset
Halalas = "& 36/100 riál"
"Harminchét" eset
Halalas = "& 37/100 riál"
"Harmincnyolc" eset
Halalas = "& 38/100 riál"
"Harminckilenc" eset
Halalas = "& 39/100 riál"
"Negyven" eset
Halalas = "& 40/100 riál"
"Negyvenegy" eset
Halalas = "& 41/100 riál"
"Negyvenkettő" eset
Halalas = "& 42/100 riál"
"Negyvenhárom" eset
Halalas = "& 43/100 riál"
"Negyvennégy" eset
Halalas = "& 44/100 riál"
"Negyvenöt" eset
Halalas = "& 45/100 riál"
"Negyvenhat" eset
Halalas = "& 46/100 riál"
"Negyvenhét" eset
Halalas = "& 47/100 riál"
"Negyvennyolc" eset
Halalas = "& 48/100 riál"
"Negyvenkilenc" eset
Halalas = "& 49/100 riál"
"Ötven" eset
Halalas = "& 50/100 riál"
"Ötvenegy" eset
Halalas = "& 51/100 riál"
"Ötvenkettő" eset
Halalas = "& 52/100 riál"
"Ötvenhárom" eset
Halalas = "& 53/100 riál"
"Ötvennégy" eset
Halalas = "& 54/100 riál"
"Fifty Five" eset
Halalas = "& 55/100 riál"
"Fifty Six" eset
Halalas = "& 56/100 riál"
"Ötvenhét" eset
Halalas = "& 57/100 riál"
"Ötvennyolc" eset
Halalas = "& 58/100 riál"
"Ötvenkilenc" eset
Halalas = "& 59/100 riál"
"Hatvan" eset
Halalas = "& 60/100 riál"
"Hatvanegy" eset
Halalas = "& 61/100 riál"
"Hatvankettő" eset
Halalas = "& 62/100 riál"
"Hatvanhárom" eset
Halalas = "& 63/100 riál"
"Hatvannégy" eset
Halalas = "& 64/100 riál"
"Hatvanöt" eset
Halalas = "& 65/100 riál"
"Hatvanhat" eset
Halalas = "& 66/100 riál"
"Hatvanhét" eset
Halalas = "& 67/100 riál"
"Hatvannyolc" eset
Halalas = "& 68/100 riál"
"Hatvankilenc" eset
Halalas = "& 69/100 riál"
"Hetven" eset
Halalas = "& 70/100 riál"
"Hetvenegy" eset
Halalas = "& 71/100 riál"
"Hetvenkettő" eset
Halalas = "& 72/100 riál"
"Hetvenhárom" eset
Halalas = "& 73/100 riál"
"Hetvennégy" eset
Halalas = "& 74/100 riál"
"Hetvenöt" eset
Halalas = "& 75/100 riál"
"Hetvenhat" eset
Halalas = "& 76/100 riál"
"Hetvenhét" eset
Halalas = "& 77/100 riál"
"Hetvennyolc" eset
Halalas = "& 78/100 riál"
"Hetvenkilenc" eset
Halalas = "& 79/100 riál"
"Nyolcvan" eset
Halalas = "& 80/100 riál"
"Nyolcvanegy" eset
Halalas = "& 81/100 riál"
"Nyolcvankettő" eset
Halalas = "& 82/100 riál"
"Nyolcvanhárom" eset
Halalas = "& 83/100 riál"
"Nyolcvannégy" eset
Halalas = "& 84/100 riál"
"Nyolcvanöt" eset
Halalas = "& 85/100 riál"
"Nyolcvanhat" eset
Halalas = "& 86/100 riál"
"Nyolcvanhét" eset
Halalas = "& 87/100 riál"
"Nyolcvannyolc" eset
Halalas = "& 88/100 riál"
"Nyolcvankilences" eset
Halalas = "& 89/100 riál"
"Ninety" eset
Halalas = "& 90/100 riál"
"Kilencvenegy" eset
Halalas = "& 91/100 riál"
"Kilencvenkettő" eset
Halalas = "& 92/100 riál"
"Kilencvenhárom" eset
Halalas = "& 93/100 riál"
"Kilencvennégy" eset
Halalas = "& 94/100 riál"
"Ninety Five" eset
Halalas = "& 95/100 riál"
"Kilencvenhat" eset
Halalas = "& 96/100 riál"
"Kilencvenhét" eset
Halalas = "& 97/100 riál"
"Kilencvennyolc" eset
Halalas = "& 98/100 riál"
"Kilencvenkilenc" eset
Halalas = "& 99/100 riál"


Más eset
Halalas = " & " & Halalas & " Halalas"
Vége kiválasztása
SpellBilling = Riyals & Halalas
end Function


' 100 és 999 közötti számokat szöveggé alakít
Funkció GetHundreds (ByVal MyNumber)
Dim Eredmény karakterláncként
Ha Val(MyNumber) = 0, akkor lépjen ki a függvényből
MyNumber = jobb ("000" & SajátSzám, 3)
' Váltsa át a százas helyeket.
Ha Közép(SajátSzám, 1, 1) <> "0" Akkor
Eredmény = GetDigit(Mid(SajátSzám, 1, 1)) & " Száz "
Ha véget
' Váltsd át a tízes és egyes helyeket.
Ha Közép(SajátSzám, 2, 1) <> "0" Akkor
Eredmény = Eredmény & GetTens(Közép(SajátSzám, 2))
Más
Eredmény = Eredmény & GetDigit(Közép(SajátSzám, 3))
Ha véget
GetHundreds = Eredmény
end Function

' Egy számot 10-ről 99-re alakít át szöveggé.
GetTens függvény (TensText)
Dim Eredmény karakterláncként
Eredmény = "" ' Az ideiglenes függvényérték nullázása.
Ha Val(Left(TensText, 1)) = 1 Akkor ' Ha 10-19 között van...
Select Case Val (TensText)
10. eset: Eredmény = "Tíz"
11. eset: Eredmény = "tizenegy"
12. eset: Eredmény = "tizenkettő"
13. eset: Eredmény = "Tizenhárom"
14. eset: Eredmény = "Tizennégy"
15. eset: Eredmény = "tizenöt"
16. eset: Eredmény = "Tizenhat"
17. eset: Eredmény = "Tizenhét"
18. eset: Eredmény = "tizennyolc"
19. eset: Eredmény = "tizenkilenc"
Más eset
Vége kiválasztása
Else ' Ha az érték 20-99 között van...
Válassza a Case Val (Bal (TensText, 1))
2. eset: Eredmény = "Húsz"
3. eset: Eredmény = "harminc"
4. eset: Eredmény = "Negyven"
5. eset: Eredmény = "ötven"
6. eset: Eredmény = "hatvan"
7. eset: Eredmény = "hetven"
8. eset: Eredmény = "nyolcvan"
9. eset: Eredmény = "kilencven"
Más eset
Vége kiválasztása
Eredmény = Eredmény & GetDigit _
(Jobb (Tízszöveg, 1)) ' Egyes hely visszakeresése.
Ha véget
GetTens = Eredmény
end Function

' Egy számot 1-ről 9-re alakít át szöveggé.
Függvény GetDigit(Digit)
Select Case Val (számjegy)
1. eset: GetDigit = "Egy"
2. eset: GetDigit = "kettő"
3. eset: GetDigit = "Három"
4. eset: GetDigit = "Négy"
5. eset: GetDigit = "öt"
6. eset: GetDigit = "hat"
7. eset: GetDigit = "Hét"
8. eset: GetDigit = "Nyolc"
9. eset: GetDigit = "kilenc"
Más eset: GetDigit = ""
Vége kiválasztása
end Function
A weboldal moderátora ezt a megjegyzést minimalizálta
Alkalmaznom kell az összes Excell munkafüzetet. Hogyan alkalmazzuk ezt a kódolást az összes Excel-munkafüzetre.
A weboldal moderátora ezt a megjegyzést minimalizálta
Tizennégyezer-nyolcszázhetvenöt rúpia Csak az utolsó összegben legyen az andexample szó
Csak tizennégyezer-nyolcszázhetvenöt rúpia
A weboldal moderátora ezt a megjegyzést minimalizálta
nem tud többet olvasni 10 crore-nál.
A weboldal moderátora ezt a megjegyzést minimalizálta
One Lac Sixty Nine Thousand Eighty One and Forty Two Paise – Nincs megfelelően konvertálva. Szintén nem alakították át a fenti ábrát a kerekítéskor.
A weboldal moderátora ezt a megjegyzést minimalizálta
KÖSZÖNJÜK A KÓDOT...
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm a kódolást. Jelentkeztem és működik. De ez csak az adott munkafüzetre vonatkozik. Alkalmaznom kell az összes Excell munkafüzetet. Hogyan alkalmazzuk ezt a kódolást az összes Excel-munkafüzetre.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia SivaG
Igen, ez a kód felhasználó által meghatározott függvény, a képletet egyenként kell alkalmazni a fájlokra, ha több munkafüzetre kell alkalmazni egy kódot, akkor az minden számra vonatkozik, tehát az összes szám megváltozik. És a kód nem támogatja a visszavonást, van néhány biztonsági kockázat. Nem ajánlott ezt megtenni. Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan lehet eltávolítani a „Rúpia” szót? Általában a csekkleveleken már szerepel a „Rúpia” szó.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Sakariya
A probléma megoldásához használja az alábbi kódot:
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



Próbáld ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm szépen... 🙂
A weboldal moderátora ezt a megjegyzést minimalizálta
De ez csak egy excelre vonatkozik. Ha más excelben beírom ezt a képletet, ez nem működik
mi a megoldás erre
kérem térjen vissza
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló,

Ha több munkafüzete van, akkor a kódot több munkafüzetbe kell másolnia.
Ha csak egy munkafüzetbe másolja, akkor más munkafüzetekben nem fog működni. 😀
Próbáld ki, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm szépen nagyon hasznos
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Uram! Be lehet állítani ezt alapértelmezés szerint minden Excel munkalaphoz vagy sem?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Mukesh

Igen, amíg a kód be van másolva a vba ablakmodulba, a képlet az egész munkafüzetre alkalmazható.
De a munkafüzet bezárásakor el kell mentenie másként Excel makró-engedélyezett munkafüzet fájlformátum.
Kérjük, próbálja ki, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Többször próbálva nem működik. Kérem, segítsen
A weboldal moderátora ezt a megjegyzést minimalizálta
Hey, Great Help! Thanks for creating such a wonderful code.

It has saved a lot of time. "God Bless You!!"
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi