Arvude teisendamine sõnadeks

Märkus.: Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit.

Excel ei saa vaikimisi funktsiooni, mis kuvab arvude ingliskeelsete sõnade töölehel, kuid saate lisada selle funktsiooni SpellNumber funktsioon järgmine kood kleepides mooduli VBA (Visual Basic for Applications). See funktsioon võimaldab sõnade valemiga, dollar ja senti teisendada, et 22,50 soovite lugeda kakskümmend kaks dollarit ja viiskümmend senti. See võib olla väga kasulik, kui kasutate Exceli mallina printimiseks kontrollid.

Kui soovite teisendada arvväärtuste tekstiks kuvamata neid nii sõna, kasutage funktsiooni TEXT .

Märkus.: Microsoft pakub joonisel ainult ilma garantii kaudseid. See sisaldab, kuid ei ole piiratud, sobivuse või teatud otstarbeks õigsuse. Selles artiklis eeldatakse, et olete tuttav VBA programmeerimiskeel, ja tööriistad, mis loomiseks ja silumine toimingutest. Microsofti toe töötajad, aitab mõne konkreetse protseduuri funktsiooni selgitada. Siiski ei muuda nad neid näiteid pakkumiseks ega ehitada kord teie konkreetsetele nõuetele.

Funktsiooni SpellNumber arvude teisendamiseks sõnade loomine

  1. Kasutage kiirklahvikombinatsiooni Visual Basic Editori (VBE) avamiseks klahve Alt + F11 .

    Märkus.: Võite kasutada ka Visual Basic Editori, kuvades arendaja oma lindil.

  2. Klõpsake menüüd Lisa ja klõpsake mooduli.

    Klõpsake menüü Lisa mooduli.
  3. Kopeerige järgmised koodiread.

    Märkus.: Järgmine kood tuntud mõne Kasutaja määratletud funktsioon (UDF), automatiseerib ülesanne arvude teisendamine töölehel kogu teksti.

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 1
    
    Loop
    
    Select Case Dollars
    
    Case ""
    
    Dollars = "No Dollars"
    
    Case "One"
    
    Dollars = "One Dollar"
    
    Case Else
    
    Dollars = Dollars & " Dollars"
    
    End Select
    
    Select Case Cents
    
    Case ""
    
    Cents = " and No Cents"
    
    Case "One"
    
    Cents = " and One Cent"
    
    Case Else
    
    Cents = " and " & Cents & " Cents"
    
    End Select
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    If Mid(MyNumber, 2, 1) <> "0" Then
    
    Result = Result & GetTens(Mid(MyNumber, 2))
    
    Else
    
    Result = Result & GetDigit(Mid(MyNumber, 3))
    
    End If
    
    GetHundreds = Result
    
    End Function
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    Select Case Val(TensText)
    
    Case 10: Result = "Ten"
    
    Case 11: Result = "Eleven"
    
    Case 12: Result = "Twelve"
    
    Case 13: Result = "Thirteen"
    
    Case 14: Result = "Fourteen"
    
    Case 15: Result = "Fifteen"
    
    Case 16: Result = "Sixteen"
    
    Case 17: Result = "Seventeen"
    
    Case 18: Result = "Eighteen"
    
    Case 19: Result = "Nineteen"
    
    Case Else
    
    End Select
    
    Else ' If value between 20-99...
    
    Select Case Val(Left(TensText, 1))
    
    Case 2: Result = "Twenty "
    
    Case 3: Result = "Thirty "
    
    Case 4: Result = "Forty "
    
    Case 5: Result = "Fifty "
    
    Case 6: Result = "Sixty "
    
    Case 7: Result = "Seventy "
    
    Case 8: Result = "Eighty "
    
    Case 9: Result = "Ninety "
    
    Case Else
    
    End Select
    
    Result = Result & GetDigit _
    
    (Right(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    Function GetDigit(Digit)
    
    Select Case Val(Digit)
    
    Case 1: GetDigit = "One"
    
    Case 2: GetDigit = "Two"
    
    Case 3: GetDigit = "Three"
    
    Case 4: GetDigit = "Four"
    
    Case 5: GetDigit = "Five"
    
    Case 6: GetDigit = "Six"
    
    Case 7: GetDigit = "Seven"
    
    Case 8: GetDigit = "Eight"
    
    Case 9: GetDigit = "Nine"
    
    Case Else: GetDigit = ""
    
    End Select
    
    End Function
  4. Kleepige koodiread sisse selle moodul1 (kood) väljale.

    Kleebitud soovitud moodul1 koodi (kood) ruut.
  5. Vajutage klahvikombinatsiooni Alt + Q Exceli naasmiseks. Funktsiooni SpellNumber on nüüd kasutamiseks valmis.

    Märkus.: See funktsioon toimib ainult aktiivse töövihiku. Mõnes muus töövihikus selle funktsiooni kasutamiseks peab korrake toiminguid kopeerige ja kleepige kood teises töövihikus.

Lehe algusse

Kasutage funktsiooni SpellNumber üksikuid lahtreid

  1. Sisestage soovitud valem = SpellNumber(A1) lahtrisse, kus soovite kuvada arvu, kus A1 on lahter, mis sisaldab arvu soovite teisendada. Saate ka käsitsi tippida väärtus näiteks = SpellNumber(22.50).

  2. Vajutage valemi kinnitamiseks sisestusklahvi .

Lehe algusse

Funktsioon SpellNumber töövihiku salvestamine

Excel ei saa salvestada töövihiku makrofunktsioonid vormingus standard makrotoega töövihik (.xlsx). Kui valite fail > Salvesta. Avaneb dialoogiboks VB projekti . Klõpsake nuppu ei.

Klõpsake dialoogiboksis VB projekti ei.

Exceli makrotoega töövihik (.xlsm) säilitada oma praeguse vormingus faili saate salvestada oma faili.

  1. Klõpsake menüüs Fail nuppu Salvesta nimega.

  2. Klõpsake rippmenüüd Salvestustüüp ja valige Exceli makrotoega töövihik.

  3. Klõpsake käsku Salvesta.

Lehe algusse

Vt ka

Funktsioon TEXT

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×