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

Kako pretvoriti številke v besede v indijskih rupijah v Excelu?

V tem članku bom predstavil, kako pretvoriti seznam števil v besede v indijskih rupijah ali angleškem dolarju v Excelu.

Pretvorite številke v besede v indijskih rupijah s kodo VBA

Pretvorite številke v besede v angleškem dolarju z neverjetno funkcijo


Pretvorite številke v besede v indijskih rupijah s kodo VBA

Naslednja koda VBA vam lahko pomaga pretvoriti številke v besede v rupijah, naredite tako:

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v okno modula.

Koda VBA: Pretvorite številke v besede v rupijah

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. Po vstavitvi kode shranite in zaprite okno kode, se vrnite na delovni list in vnesite to formulo: = RupeeFormat (A2) v prazno celico in nato povlecite ročico za polnjenje navzdol, da to formulo uporabite v drugih celicah, vse številke so zapisane v rupijah, glejte posnetek zaslona:


Pretvorite številke v besede v angleškem dolarju z neverjetno funkcijo

Če želite številke pretvoriti v besede v angleškem dolarju, Kutools za ExcelJe Številke v besede funkcija vam lahko pomaga hitro in enostavno rešiti to nalogo.

Nasvet:Če želite uporabiti to Število na besede funkcijo, najprej morate prenesti Kutools za Excelin nato funkcijo hitro in enostavno uporabite.

Po namestitvi Kutools za Excel, naredite tako:

1. Izberite seznam številk, ki jih želite pretvoriti, in kliknite Kutools > vsebina > Številke v besede, glej posnetke zaslona:

2. v Številke do valutnih besed pogovorno okno, izberite Angleščina možnost iz jeziki in nato kliknite Ok gumba so številke v izboru pretvorjene v besede v angleški valuti, glejte posnetek zaslona:

Kliknite za prenos Kutools za Excel in brezplačno preskusno različico zdaj!

 


  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce in vodenje podatkov; Vsebina razdeljenih celic; Združite podvojene vrstice in vsoto / povprečje... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Priljubljene in hitro vstavite formule, Obsegi, grafikoni in slike; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Razvrščanje vrtilne tabele po številka tedna, dan v tednu in še več ... Prikaži odklenjene, zaklenjene celice po različnih barvah; Označite celice s formulo / imenom...
zavihek kte 201905
  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize

 

Komentarji (22)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Excel se zruši, ko referenčna celica nima ventila!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, uporabnik,
Hvala za vaš komentar, koda v tem članku je bila posodobljena, poskusite znova, hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Spoštovani,

Dober dan,

Preizkusil sem zgornjo formulo, da ne deluje v vezajih minus vrednosti, kot je -100 -10,000 ali (100) (10,000)

Gospod, spodnjo kodo uporabljam zadnje 1 leto in danes sem odkril isto napako.

Ko napišem minus -10,000 ali (10,000), se prikaže "Le sto deset tisoč"
Ko napišem pozitivnih 10,000, deluje odlično "Samo deset tisoč"

Spodaj primer:

(10,000.99) Samo sto deset tisoč in 99/100 rijalov
10,000.99 Samo deset tisoč in 99/100 rijalov
(10,000,000.99) Samo sto deset milijonov & 99/100 rialov
10,000,000.99 Samo deset milijonov & 99/100 Rialov
(10,000,000,000.99) Samo sto deset milijard & 99/100 rialov
10,000,000,000.99 Samo deset milijard & 99/100 rialov
(10,000,000,000,000.90) Samo sto deset trilijonov in 90/100 rialov
10,000,000,000,000.90 Samo deset trilijonov in 90/100 rialov

Formula = zaračunavanje črkovanja

MOJA KODA VBA:

'Glavna funkcija
Funkcija SpellBilling (ByVal MyNumber)
Dim Riyals, Halalas, Temp
Dim DecimalPlace, štetje
ReDim Place(9) Kot niz
Mesto (2) = "Tisoč"
Mesto (3) = "Milijon"
Mesto (4) = " milijarda "
Mesto (5) = "Bilijon"
' Niz predstavitev zneska.
Moja številka = Trim(Str(Moja številka))
' Položaj decimalnega mesta 0, če ni.
DecimalPlace = InStr(Moja številka, ".")
' Pretvorite Halalas in nastavite MyNumber na znesek v rialih.
Če je DecimalPlace > 0 Potem
Halalas = GetTens(levo(sredina(moje število, decimalno mesto + 1) & _
"00", 2))
Moja številka = Obreži (levo(moja številka, decimalno mesto - 1))
Konec Če
Število = 1
Naredi, medtem ko je moja številka <> ""
Temp = GetHundreds(Desno(Moja številka, 3))
Če je Temp <> "" Potem je rijal = Temp & Kraj(štet) & Rijali
Če je Len(Moja številka) > 3 Potem
Moja številka = levo(moja številka, Len(moja številka) - 3)
Else
moja številka = ""
Konec Če
Število = Število + 1
Zanka
Izberite Case Riyals
Ovitek ""
Riyals = "Brez Riyala"
Primer "Ena"
Riyals = "Samo en rijal"
Drugi primer
Rijali = "Samo" & Rijali
Rijali = Rijali & ""
Konec Izberi
Izberite Case Halalas
Ovitek ""
Halalas = "& 00/00 Riyalov"
Primer "Ena"
Halalas = "& 01/100 Riyalov"
Primer "dva"
Halalas = "& 02/100 Riyalov"
Primer "tri"
Halalas = "& 03/100 Riyalov"
Primer "štiri"
Halalas = "& 04/100 Riyalov"
Primer "pet"
Halalas = "& 05/100 Riyalov"
Primer "šest"
Halalas = "& 06/100 Riyalov"
Primer "sedem"
Halalas = "& 07/100 Riyalov"
Primer "osem"
Halalas = "& 08/100 Riyalov"
Primer "devet"
Halalas = "& 09/100 Riyalov"
Primer "deset"
Halalas = "& 10/100 Riyalov"
Primer "Eleven"
Halalas = "& 11/100 Riyalov"
Primer "dvanajst"
Halalas = "& 12/100 Riyalov"
Primer "Trinajst"
Halalas = "& 13/100 Riyalov"
Primer "štirinajst"
Halalas = "& 14/100 Riyalov"
Primer "petnajst"
Halalas = "& 15/100 Riyalov"
Primer "šestnajst"
Halalas = "& 16/100 Riyalov"
Primer "Sedemnajst"
Halalas = "& 17/100 Riyalov"
Primer "osemnajst"
Halalas = "& 18/100 Riyalov"
Primer "devetnajst"
Halalas = "& 19/100 Riyalov"
Primer "dvajset"
Halalas = "& 20/100 Riyalov"
Primer "Enaindvajset"
Halalas = "& 21/100 Riyalov"
Primer "dvaindvajset"
Halalas = "& 22/100 Riyalov"
Primer "triindvajset"
Halalas = "& 23/100 Riyalov"
Primer "štiriindvajset"
Halalas = "& 24/100 Riyalov"
Primer "Petindvajset"
Halalas = "& 25/100 Riyalov"
Primer "šestindvajset"
Halalas = "& 26/100 Riyalov"
Primer "Sedemindvajset"
Halalas = "& 27/100 Riyalov"
Primer "osemindvajset"
Halalas = "& 28/100 Riyalov"
Primer "devetindvajset"
Halalas = "& 29/100 Riyalov"
Primer "trideset"
Halalas = "& 30/100 Riyalov"
Primer "Enaintrideset"
Halalas = "& 31/100 Riyalov"
Primer "dvaintrideset"
Halalas = "& 32/100 Riyalov"
Primer "triintrideset"
Halalas = "& 33/100 Riyalov"
Primer "štiriintrideset"
Halalas = "& 34/100 Riyalov"
Primer "petintrideset"
Halalas = "& 35/100 Riyalov"
Primer "šestintrideset"
Halalas = "& 36/100 Riyalov"
Primer "Sedemintrideset"
Halalas = "& 37/100 Riyalov"
Primer "osemintrideset"
Halalas = "& 38/100 Riyalov"
Primer "trideset devet"
Halalas = "& 39/100 Riyalov"
Primer "štirideset"
Halalas = "& 40/100 Riyalov"
Primer "ena štirideset"
Halalas = "& 41/100 Riyalov"
Primer "dvainštirideset"
Halalas = "& 42/100 Riyalov"
Primer "triinštirideset"
Halalas = "& 43/100 Riyalov"
Primer "štirideset"
Halalas = "& 44/100 Riyalov"
Primer "petštirideset"
Halalas = "& 45/100 Riyalov"
Primer "šest štirideset"
Halalas = "& 46/100 Riyalov"
Primer "Sedeminštirideset"
Halalas = "& 47/100 Riyalov"
Primer "oseminštirideset"
Halalas = "& 48/100 Riyalov"
Primer "devetdeset štirideset"
Halalas = "& 49/100 Riyalov"
Primer "petdeset"
Halalas = "& 50/100 Riyalov"
Primer "ena petdeset"
Halalas = "& 51/100 Riyalov"
Primer "dva petdeset"
Halalas = "& 52/100 Riyalov"
Primer "triinpetdeset"
Halalas = "& 53/100 Riyalov"
Primer "štiriinpetdeset"
Halalas = "& 54/100 Riyalov"
Primer "petdeset pet"
Halalas = "& 55/100 Riyalov"
Primer "šestdeset petdeset"
Halalas = "& 56/100 Riyalov"
Primer "Sedeminpetdeset"
Halalas = "& 57/100 Riyalov"
Primer "oseminpetdeset"
Halalas = "& 58/100 Riyalov"
Primer "devetdeset petdeset"
Halalas = "& 59/100 Riyalov"
Primer "šestdeset"
Halalas = "& 60/100 Riyalov"
Primer "ena šestdeset"
Halalas = "& 61/100 Riyalov"
Primer "dvainšestdeset"
Halalas = "& 62/100 Riyalov"
Primer "triinšestdeset"
Halalas = "& 63/100 Riyalov"
Primer "štiriinšestdeset"
Halalas = "& 64/100 Riyalov"
Primer "šestdeset pet"
Halalas = "& 65/100 Riyalov"
Primer "šestdeset šest"
Halalas = "& 66/100 Riyalov"
Primer "sedeminšestdeset"
Halalas = "& 67/100 Riyalov"
Primer "oseminšestdeset"
Halalas = "& 68/100 Riyalov"
Primer "šestdeset devet"
Halalas = "& 69/100 Riyalov"
Primer "sedemdeset"
Halalas = "& 70/100 Riyalov"
Primer "ena sedemdeset"
Halalas = "& 71/100 Riyalov"
Primer "dvainsedemdeset"
Halalas = "& 72/100 Riyalov"
Primer "triinsedemdeset"
Halalas = "& 73/100 Riyalov"
Primer "štiriinsedemdeset"
Halalas = "& 74/100 Riyalov"
Primer "petinsedemdeset"
Halalas = "& 75/100 Riyalov"
Primer "šestdeset sedemdeset"
Halalas = "& 76/100 Riyalov"
Primer "sedemdeset"
Halalas = "& 77/100 Riyalov"
Primer "oseminsedemdeset"
Halalas = "& 78/100 Riyalov"
Primer "sedemdeset devet"
Halalas = "& 79/100 Riyalov"
Primer "osemdeset"
Halalas = "& 80/100 Riyalov"
Primer "ena osemdeset"
Halalas = "& 81/100 Riyalov"
Primer "dvainosemdeset"
Halalas = "& 82/100 Riyalov"
Primer "triinosemdeset"
Halalas = "& 83/100 Riyalov"
Primer "štiriinosemdeset"
Halalas = "& 84/100 Riyalov"
Primer "petinpetdeset"
Halalas = "& 85/100 Riyalov"
Primer "šestinosemdeset"
Halalas = "& 86/100 Riyalov"
Primer "sedeminosemdeset"
Halalas = "& 87/100 Riyalov"
Primer "oseminosemdeset"
Halalas = "& 88/100 Riyalov"
Primer "osemdeset devet"
Halalas = "& 89/100 Riyalov"
Primer "devetdeset"
Halalas = "& 90/100 Riyalov"
Primer "ena devetdeset"
Halalas = "& 91/100 Riyalov"
Primer "Dveindevetdeset"
Halalas = "& 92/100 Riyalov"
Primer "triindevetdeset"
Halalas = "& 93/100 Riyalov"
Primer "štiriindevetdeset"
Halalas = "& 94/100 Riyalov"
Primer "petindvetdeset"
Halalas = "& 95/100 Riyalov"
Primer "šest devetdeset"
Halalas = "& 96/100 Riyalov"
Primer "sedemindevetdeset"
Halalas = "& 97/100 Riyalov"
Primer "osemindevetdeset"
Halalas = "& 98/100 Riyalov"
Primer "devetdeset devet"
Halalas = "& 99/100 Riyalov"


Drugi primer
Halalas = " & " & Halalas & " Halalas"
Konec Izberi
SpellBilling = Riyals & Halalas
End Function


' Pretvori število od 100 do 999 v besedilo
Funkcija GetHundreds(ByVal MyNumber)
Zatemni rezultat kot niz
Če je Val(MyNumber) = 0, potem izhod iz funkcije
Moja številka = desno ("000" & Moja številka, 3)
' Pretvori mesto na stotine.
Če Mid(MyNumber, 1, 1) <> "0" Potem
Rezultat = GetDigit(Mid(MyNumber, 1, 1)) & " Sto "
Konec Če
' Pretvorite mesto desetic in enic.
Če Mid(MyNumber, 2, 1) <> "0" Potem
Rezultat = Result & GetTens(Mid(MyNumber, 2))
Else
Rezultat = Rezultat & GetDigit(Sredina(Moja številka, 3))
Konec Če
GetHundreds = Rezultat
End Function

' Pretvori število od 10 do 99 v besedilo.
Funkcija GetTens(TensText)
Zatemni rezultat kot niz
Rezultat = "" ' Izniči začasno vrednost funkcije.
Če je Val(Left(TensText, 1)) = 1, potem ' Če je vrednost med 10-19...
Izberite val velikih črk (TensText)
Primer 10: rezultat = "deset"
Primer 11: Rezultat = "Enajst"
Primer 12: rezultat = "dvanajst"
Primer 13: Rezultat = "Trinajst"
Primer 14: rezultat = "štirinajst"
Primer 15: rezultat = "petnajst"
Primer 16: Rezultat = "Šestnajst"
Primer 17: Rezultat = "Sedemnajst"
Primer 18: Rezultat = "Osemnajst"
Primer 19: Rezultat = "Devetnajst"
Drugi primer
Konec Izberi
Drugače ' Če je vrednost med 20-99 ...
Izberite vrednost velikih črk (levo (TensText, 1))
Primer 2: rezultat = "dvajset"
Primer 3: rezultat = "trideset"
Primer 4: rezultat = "štirideset"
Primer 5: rezultat = "petdeset"
Primer 6: rezultat = "šestdeset"
Primer 7: Rezultat = "Sedemdeset"
Primer 8: Rezultat = "Osemdeset"
Primer 9: rezultat = "devetdeset"
Drugi primer
Konec Izberi
Rezultat = Result & GetDigit _
(Desno(TensText, 1)) ' Pridobi eno mesto.
Konec Če
GetTens = Rezultat
End Function

' Pretvori število od 1 do 9 v besedilo.
Funkcija GetDigit(Digit)
Izberite vrednost primera (številka)
Primer 1: GetDigit = "Ena"
Primer 2: GetDigit = "Dva"
Primer 3: GetDigit = "Tri"
Primer 4: GetDigit = "Štiri"
Primer 5: GetDigit = "Pet"
Primer 6: GetDigit = "šest"
Primer 7: GetDigit = "Sedem"
Primer 8: GetDigit = "Osem"
Primer 9: GetDigit = "Devet"
Drugi primer: GetDigit = ""
Konec Izberi
End Function
Ta komentar je moderator na spletnem mestu minimiziral
Nič za reči! Izjemno super
Ta komentar je moderator na spletnem mestu minimiziral
Spoštovani,

Dober dan,
Preizkusil sem vašo kodo VBA, vendar na žalost ne deluje dobro pri negativnih / minus vrednostih, kot je -100 -10,000 / (100) (10,000).

Gospod, spodnjo kodo uporabljam zadnje 1 leto in danes sem odkril isto napako, ki se nahaja tudi v vaši kodi VBA.

Ko napišem minus -10,000, se prikaže na "Samo sto deset tisoč"
Ko napišem pozitivnih 10,000, se prikaže na "Samo deset tisoč", deluje v redu

Spodaj primer:

(10,000.99) Samo sto deset tisoč in 99/100 rijalov
10,000.99 Samo deset tisoč in 99/100 rijalov
(10,000,000.99) Samo sto deset milijonov & 99/100 rialov
10,000,000.99 Samo deset milijonov & 99/100 Rialov
(10,000,000,000.99) Samo sto deset milijard & 99/100 rialov
10,000,000,000.99 Samo deset milijard & 99/100 rialov
(10,000,000,000,000.90) Samo sto deset trilijonov in 90/100 rialov
10,000,000,000,000.90 Samo deset trilijonov in 90/100 rialov

Formula = zaračunavanje črkovanja

MOJA KODA VBA:

'Glavna funkcija
Funkcija SpellBilling (ByVal MyNumber)
Dim Riyals, Halalas, Temp
Dim DecimalPlace, štetje
ReDim Place(9) Kot niz
Mesto (2) = "Tisoč"
Mesto (3) = "Milijon"
Mesto (4) = " milijarda "
Mesto (5) = "Bilijon"
' Niz predstavitev zneska.
Moja številka = Trim(Str(Moja številka))
' Položaj decimalnega mesta 0, če ni.
DecimalPlace = InStr(Moja številka, ".")
' Pretvorite Halalas in nastavite MyNumber na znesek v rialih.
Če je DecimalPlace > 0 Potem
Halalas = GetTens(levo(sredina(moje število, decimalno mesto + 1) & _
"00", 2))
Moja številka = Obreži (levo(moja številka, decimalno mesto - 1))
Konec Če
Število = 1
Naredi, medtem ko je moja številka <> ""
Temp = GetHundreds(Desno(Moja številka, 3))
Če je Temp <> "" Potem je rijal = Temp & Kraj(štet) & Rijali
Če je Len(Moja številka) > 3 Potem
Moja številka = levo(moja številka, Len(moja številka) - 3)
Else
moja številka = ""
Konec Če
Število = Število + 1
Zanka
Izberite Case Riyals
Ovitek ""
Riyals = "Brez Riyala"
Primer "Ena"
Riyals = "Samo en rijal"
Drugi primer
Rijali = "Samo" & Rijali
Rijali = Rijali & ""
Konec Izberi
Izberite Case Halalas
Ovitek ""
Halalas = "& 00/00 Riyalov"
Primer "Ena"
Halalas = "& 01/100 Riyalov"
Primer "dva"
Halalas = "& 02/100 Riyalov"
Primer "tri"
Halalas = "& 03/100 Riyalov"
Primer "štiri"
Halalas = "& 04/100 Riyalov"
Primer "pet"
Halalas = "& 05/100 Riyalov"
Primer "šest"
Halalas = "& 06/100 Riyalov"
Primer "sedem"
Halalas = "& 07/100 Riyalov"
Primer "osem"
Halalas = "& 08/100 Riyalov"
Primer "devet"
Halalas = "& 09/100 Riyalov"
Primer "deset"
Halalas = "& 10/100 Riyalov"
Primer "Eleven"
Halalas = "& 11/100 Riyalov"
Primer "dvanajst"
Halalas = "& 12/100 Riyalov"
Primer "Trinajst"
Halalas = "& 13/100 Riyalov"
Primer "štirinajst"
Halalas = "& 14/100 Riyalov"
Primer "petnajst"
Halalas = "& 15/100 Riyalov"
Primer "šestnajst"
Halalas = "& 16/100 Riyalov"
Primer "Sedemnajst"
Halalas = "& 17/100 Riyalov"
Primer "osemnajst"
Halalas = "& 18/100 Riyalov"
Primer "devetnajst"
Halalas = "& 19/100 Riyalov"
Primer "dvajset"
Halalas = "& 20/100 Riyalov"
Primer "Enaindvajset"
Halalas = "& 21/100 Riyalov"
Primer "dvaindvajset"
Halalas = "& 22/100 Riyalov"
Primer "triindvajset"
Halalas = "& 23/100 Riyalov"
Primer "štiriindvajset"
Halalas = "& 24/100 Riyalov"
Primer "Petindvajset"
Halalas = "& 25/100 Riyalov"
Primer "šestindvajset"
Halalas = "& 26/100 Riyalov"
Primer "Sedemindvajset"
Halalas = "& 27/100 Riyalov"
Primer "osemindvajset"
Halalas = "& 28/100 Riyalov"
Primer "devetindvajset"
Halalas = "& 29/100 Riyalov"
Primer "trideset"
Halalas = "& 30/100 Riyalov"
Primer "Enaintrideset"
Halalas = "& 31/100 Riyalov"
Primer "dvaintrideset"
Halalas = "& 32/100 Riyalov"
Primer "triintrideset"
Halalas = "& 33/100 Riyalov"
Primer "štiriintrideset"
Halalas = "& 34/100 Riyalov"
Primer "petintrideset"
Halalas = "& 35/100 Riyalov"
Primer "šestintrideset"
Halalas = "& 36/100 Riyalov"
Primer "Sedemintrideset"
Halalas = "& 37/100 Riyalov"
Primer "osemintrideset"
Halalas = "& 38/100 Riyalov"
Primer "trideset devet"
Halalas = "& 39/100 Riyalov"
Primer "štirideset"
Halalas = "& 40/100 Riyalov"
Primer "ena štirideset"
Halalas = "& 41/100 Riyalov"
Primer "dvainštirideset"
Halalas = "& 42/100 Riyalov"
Primer "triinštirideset"
Halalas = "& 43/100 Riyalov"
Primer "štirideset"
Halalas = "& 44/100 Riyalov"
Primer "petštirideset"
Halalas = "& 45/100 Riyalov"
Primer "šest štirideset"
Halalas = "& 46/100 Riyalov"
Primer "Sedeminštirideset"
Halalas = "& 47/100 Riyalov"
Primer "oseminštirideset"
Halalas = "& 48/100 Riyalov"
Primer "devetdeset štirideset"
Halalas = "& 49/100 Riyalov"
Primer "petdeset"
Halalas = "& 50/100 Riyalov"
Primer "ena petdeset"
Halalas = "& 51/100 Riyalov"
Primer "dva petdeset"
Halalas = "& 52/100 Riyalov"
Primer "triinpetdeset"
Halalas = "& 53/100 Riyalov"
Primer "štiriinpetdeset"
Halalas = "& 54/100 Riyalov"
Primer "petdeset pet"
Halalas = "& 55/100 Riyalov"
Primer "šestdeset petdeset"
Halalas = "& 56/100 Riyalov"
Primer "Sedeminpetdeset"
Halalas = "& 57/100 Riyalov"
Primer "oseminpetdeset"
Halalas = "& 58/100 Riyalov"
Primer "devetdeset petdeset"
Halalas = "& 59/100 Riyalov"
Primer "šestdeset"
Halalas = "& 60/100 Riyalov"
Primer "ena šestdeset"
Halalas = "& 61/100 Riyalov"
Primer "dvainšestdeset"
Halalas = "& 62/100 Riyalov"
Primer "triinšestdeset"
Halalas = "& 63/100 Riyalov"
Primer "štiriinšestdeset"
Halalas = "& 64/100 Riyalov"
Primer "šestdeset pet"
Halalas = "& 65/100 Riyalov"
Primer "šestdeset šest"
Halalas = "& 66/100 Riyalov"
Primer "sedeminšestdeset"
Halalas = "& 67/100 Riyalov"
Primer "oseminšestdeset"
Halalas = "& 68/100 Riyalov"
Primer "šestdeset devet"
Halalas = "& 69/100 Riyalov"
Primer "sedemdeset"
Halalas = "& 70/100 Riyalov"
Primer "ena sedemdeset"
Halalas = "& 71/100 Riyalov"
Primer "dvainsedemdeset"
Halalas = "& 72/100 Riyalov"
Primer "triinsedemdeset"
Halalas = "& 73/100 Riyalov"
Primer "štiriinsedemdeset"
Halalas = "& 74/100 Riyalov"
Primer "petinsedemdeset"
Halalas = "& 75/100 Riyalov"
Primer "šestdeset sedemdeset"
Halalas = "& 76/100 Riyalov"
Primer "sedemdeset"
Halalas = "& 77/100 Riyalov"
Primer "oseminsedemdeset"
Halalas = "& 78/100 Riyalov"
Primer "sedemdeset devet"
Halalas = "& 79/100 Riyalov"
Primer "osemdeset"
Halalas = "& 80/100 Riyalov"
Primer "ena osemdeset"
Halalas = "& 81/100 Riyalov"
Primer "dvainosemdeset"
Halalas = "& 82/100 Riyalov"
Primer "triinosemdeset"
Halalas = "& 83/100 Riyalov"
Primer "štiriinosemdeset"
Halalas = "& 84/100 Riyalov"
Primer "petinpetdeset"
Halalas = "& 85/100 Riyalov"
Primer "šestinosemdeset"
Halalas = "& 86/100 Riyalov"
Primer "sedeminosemdeset"
Halalas = "& 87/100 Riyalov"
Primer "oseminosemdeset"
Halalas = "& 88/100 Riyalov"
Primer "osemdeset devet"
Halalas = "& 89/100 Riyalov"
Primer "devetdeset"
Halalas = "& 90/100 Riyalov"
Primer "ena devetdeset"
Halalas = "& 91/100 Riyalov"
Primer "Dveindevetdeset"
Halalas = "& 92/100 Riyalov"
Primer "triindevetdeset"
Halalas = "& 93/100 Riyalov"
Primer "štiriindevetdeset"
Halalas = "& 94/100 Riyalov"
Primer "petindvetdeset"
Halalas = "& 95/100 Riyalov"
Primer "šest devetdeset"
Halalas = "& 96/100 Riyalov"
Primer "sedemindevetdeset"
Halalas = "& 97/100 Riyalov"
Primer "osemindevetdeset"
Halalas = "& 98/100 Riyalov"
Primer "devetdeset devet"
Halalas = "& 99/100 Riyalov"


Drugi primer
Halalas = " & " & Halalas & " Halalas"
Konec Izberi
SpellBilling = Riyals & Halalas
End Function


' Pretvori število od 100 do 999 v besedilo
Funkcija GetHundreds(ByVal MyNumber)
Zatemni rezultat kot niz
Če je Val(MyNumber) = 0, potem izhod iz funkcije
Moja številka = desno ("000" & Moja številka, 3)
' Pretvori mesto na stotine.
Če Mid(MyNumber, 1, 1) <> "0" Potem
Rezultat = GetDigit(Mid(MyNumber, 1, 1)) & " Sto "
Konec Če
' Pretvorite mesto desetic in enic.
Če Mid(MyNumber, 2, 1) <> "0" Potem
Rezultat = Result & GetTens(Mid(MyNumber, 2))
Else
Rezultat = Rezultat & GetDigit(Sredina(Moja številka, 3))
Konec Če
GetHundreds = Rezultat
End Function

' Pretvori število od 10 do 99 v besedilo.
Funkcija GetTens(TensText)
Zatemni rezultat kot niz
Rezultat = "" ' Izniči začasno vrednost funkcije.
Če je Val(Left(TensText, 1)) = 1, potem ' Če je vrednost med 10-19...
Izberite val velikih črk (TensText)
Primer 10: rezultat = "deset"
Primer 11: Rezultat = "Enajst"
Primer 12: rezultat = "dvanajst"
Primer 13: Rezultat = "Trinajst"
Primer 14: rezultat = "štirinajst"
Primer 15: rezultat = "petnajst"
Primer 16: Rezultat = "Šestnajst"
Primer 17: Rezultat = "Sedemnajst"
Primer 18: Rezultat = "Osemnajst"
Primer 19: Rezultat = "Devetnajst"
Drugi primer
Konec Izberi
Drugače ' Če je vrednost med 20-99 ...
Izberite vrednost velikih črk (levo (TensText, 1))
Primer 2: rezultat = "dvajset"
Primer 3: rezultat = "trideset"
Primer 4: rezultat = "štirideset"
Primer 5: rezultat = "petdeset"
Primer 6: rezultat = "šestdeset"
Primer 7: Rezultat = "Sedemdeset"
Primer 8: Rezultat = "Osemdeset"
Primer 9: rezultat = "devetdeset"
Drugi primer
Konec Izberi
Rezultat = Result & GetDigit _
(Desno(TensText, 1)) ' Pridobi eno mesto.
Konec Če
GetTens = Rezultat
End Function

' Pretvori število od 1 do 9 v besedilo.
Funkcija GetDigit(Digit)
Izberite vrednost primera (številka)
Primer 1: GetDigit = "Ena"
Primer 2: GetDigit = "Dva"
Primer 3: GetDigit = "Tri"
Primer 4: GetDigit = "Štiri"
Primer 5: GetDigit = "Pet"
Primer 6: GetDigit = "šest"
Primer 7: GetDigit = "Sedem"
Primer 8: GetDigit = "Osem"
Primer 9: GetDigit = "Devet"
Drugi primer: GetDigit = ""
Konec Izberi
End Function
Ta komentar je moderator na spletnem mestu minimiziral
Uporabiti moram ves Excelov delovni zvezek. Kako uporabiti to kodiranje za vse Excelove delovne knjige.
Ta komentar je moderator na spletnem mestu minimiziral
Rupija štirinajst tisoč osemsto petinsedemdeset Samo zadnji znesek mora vsebovati besedo in primer
Samo štirinajst tisoč osemsto petinsedemdeset rupij
Ta komentar je moderator na spletnem mestu minimiziral
ne more prebrati več kot 10 milijonov.
Ta komentar je moderator na spletnem mestu minimiziral
One Lac XNUMX tisoč enainosemdeset in dvainštirideset paise – Ni pravilno pretvorjeno. Prav tako ni pretvorjena zgornja številka, ko je zaokrožena.
Ta komentar je moderator na spletnem mestu minimiziral
HVALA ZA KODO...
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za kodiranje. Prijavil sem se in deluje. Vendar velja samo za ta delovni zvezek. Uporabiti moram ves Excelov delovni zvezek. Kako uporabiti to kodiranje za vse Excelove delovne zvezke.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, SivaG
Da, ta koda je uporabniško določena funkcija, formulo morate uporabiti za datoteke eno za drugo. Če potrebujete kodo za uporabo v več delovnih zvezkih, bo uporabljena za vse številke, tako da bodo vse številke spremenjene. In koda ne podpira razveljavitve, obstaja nekaj varnostnih tveganj. To ni priporočljivo storiti. Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Kako odstraniti besedo "Rupije"? Običajno imajo listi čekov že besedo "Rupije".
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Sakariya
Če želite rešiti težavo, uporabite spodnjo kodo:
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



Prosim poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala... 🙂
Ta komentar je moderator na spletnem mestu minimiziral
Ampak to velja samo za en excel. Če to formulo vnesem v drug excel, to ne deluje
kaj je rešitev za to
prosim vrni
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,

Če imate več delovnih zvezkov, morate kodo kopirati v več delovnih zvezkov.
Če ga kopirate samo v en delovni zvezek, ne bo deloval v drugih delovnih zvezkih. 😀
Prosim, poskusite, hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala, zelo je koristno
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, ali je to mogoče nastaviti privzeto za vsak delovni list v Excelu ali ne?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Mukesh

Da, če je koda kopirana v okenski modul vba, se lahko formula uporabi za celoten delovni zvezek.
Toda ko zaprete delovni zvezek, ga shranite kot Excelov delovni zvezek z omogočeno makro format datoteke.
Prosim, poskusite, hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Poskusil večkrat, ne deluje. Prosim pomagajte
Ta komentar je moderator na spletnem mestu minimiziral
Hej, odlična pomoč! Hvala, ker ste ustvarili tako čudovito kodo.

Prihranilo je veliko časa. "Bog te blagoslovi!!"
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL