Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Excelis pole vaikefunktsiooni, mis kuvaks töölehel arve ingliskeelsete sõnadena, kuid selle võimaluse lisamiseks kleepige järgmine funktsioonikood SpellNumber moodulisse VBA (Visual Basic for Applications). See funktsioon võimaldab teil teisendada dollari ja senti summad valemiga sõnadeks, nii et 22,50 loetakse Twenty-Two dollarid ja viiskümmend senti. See võib olla väga kasulik, kui kasutate Excelit tšekkide printimiseks mallina.

Kui soovite arvväärtused teisendada tekstivormingusse ilma neid sõnadena kuvamata, kasutage selle asemel funktsiooni TEXT .

Märkus.: Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav VBA programmeerimiskeelega ning tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse toimingu funktsionaalsust. Siiski ei muuda nad neid näiteid, et pakkuda teie vajadustele vastavaid lisafunktsioone ega koostada protseduure.

Arvude sõnadeks teisendamiseks funktsiooni SpellNumber loomine

  1. Visual Basic Editori (VBE) avamiseks kasutage klahvikombinatsiooni Alt + F11 .

    Märkus.: Visual Basic Editori avamiseks saate lindil kuvada ka menüü Arendaja .

  2. Klõpsake menüüd Lisa ja seejärel nuppu Moodul.

    Klõpsake menüü Lisa käsku Moodul.
  3. Kopeerige järgmised koodiread.

    Märkus.: See kood, mida nimetatakse kasutaja määratletud funktsiooniks (UDF), automatiseerib kogu töölehel arvude tekstiks teisendamise toimingu.

    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 väljale Moodul1 (kood).

    Kood kleebitakse väljale Moodul1 (kood).
  5. Excelisse naasmiseks vajutage klahvikombinatsiooni Alt + Q . Funktsioon SpellNumber on nüüd kasutamiseks valmis.

    Märkus.: See funktsioon töötab ainult praeguses töövihikus. Selle funktsiooni kasutamiseks mõnes muus töövihikus tuleb koodi kopeerimiseks ja sellesse kleepimiseks toiminguid korrata.

Lehe algusse

Funktsiooni SpellNumber kasutamine üksikutes lahtrites

  1. Tippige valem =SpellNumber(A1) lahtrisse, kus soovite kuvada kirjutatud arvu, kus A1 on teisendatavat arvu sisaldav lahter. Võite ka käsitsi tippida väärtuse nagu =SpellNumber(22,50).

  2. Valemi kinnitamiseks vajutage sisestusklahvi (Enter).

Lehe algusse

Funktsiooni SpellNumber töövihiku salvestamine

Excel ei saa salvestada makrofunktsioonidega töövihikut standardses makrovabas töövihikuvormingus (.xlsx). Kui klõpsate nuppu Fail > Salvesta. Avatakse VB-projekti dialoogiboks. Klõpsake nuppu Ei.

Klõpsake dialoogiboksis VB-projekt nuppu Ei.

Faili saate salvestada Exceli Macro-Enabled töövihikuna (.xlsm), et hoida fail praeguses vormingus.

  1. Klõpsake menüüd Fail ja siis käsku Salvesta nimega.

  2. Klõpsake rippmenüüd Salvestustüüp ja valige Excel Macro-Enabled töövihik.

  3. Klõpsake nuppu Salvesta.

Lehe algusse

Vt ka

Funktsioon TEXT

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×