Pretvaranje brojeva u riječi

Napomena: Željeli bismo vam pružiti najnoviji sadržaj pomoći što je brže moguće i to na vašem jeziku. Ova je stranica strojno prevedena te može sadržavati gramatičke pogreške ili netočnosti. Naša je namjera da vam ovaj sadržaj bude koristan. Možete li nam pri dnu ove stranice javiti jesu li vam ove informacije bile korisne? Kao referencu možete pogledati i članak na engleskom jeziku.

Excel ne sadrži zadani funkcija koja se prikazuje brojeve kao engleskih riječi na radnom listu, ali možete dodati tu mogućnost lijepljenjem sljedeći kod funkcija SpellNumber u modulu VBA (Visual Basic for Applications). Ova funkcija možete pretvoriti dolar i cent iznosa riječi koja sadrži formulu, da biste 22.50 pročitali kao od dvadeset dva dolara i 50 centi. To može biti vrlo koristan ako koristite Excel kao predložak da biste ispisali provjere.

Ako želite pretvoriti numeričke vrijednosti u tekstnom obliku bez ih prikazuju kao riječi, pomoću funkcije TEXT .

Napomena: Microsoft pruža primjere programiranja samo, radi ilustracije bez izražen ili implicitnih. To obuhvaća, ali nije ograničena, IMPLICITNA JAMSTVA korištenje ili tjelovježbe za određenu svrhu. U ovom se članku pretpostavlja da ste upoznati s programskog jezika VBA i pomoću alata za koje se koriste za stvaranje i postupke za ispravljanje pogrešaka. Microsoftovi inženjeri za podršku mogu objasniti funkciju određenog postupka. Međutim, oni će mijenjati te primjere da bi ponudili funkcije niti prilagođavati postupke vašim potrebama.

Stvaranje funkciju SpellNumber za pretvaranje broja riječi

  1. Korištenje tipkovnih prečaca, Alt + F11 da biste otvorili Visual Basic Editor (VBE).

    Napomena: Visual Basic Editor možete pristupiti i tako da prikazuje se kartica programiranje na vrpci.

  2. Kliknite karticu Umetanje , a zatim kliknite Module.

    Na izborniku Umetanje kliknite Module.
  3. Kopirajte sljedeće retke koda.

    Napomena: Poznati kao Korisnički definirane funkcije (UDF), kod automatizira zadatak pretvaranje brojeva u tekst cijelom radnom listu.

    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. Zalijepite retke koda u na modulu modul1 (kod) okvir.

    Kod zalijepljen u u modulu modul1 okvir (kod).
  5. Pritisnite Alt + Q da biste se vratili u Excel. Funkcija SpellNumber je spremna za korištenje.

    Napomena: Ova funkcija funkcionira samo za trenutnu radnu knjigu. Da biste koristili ovu funkciju u drugoj radnoj knjizi, morate ponoviti korake da biste kopirali i zalijepili kod u toj radnoj knjizi.

Vrh stranice

Koristite funkciju SpellNumber u pojedinačnim ćelijama

  1. Upišite u formulu = SpellNumber(A1) u ćeliju u kojoj želite prikazati pisane broj, pri čemu A1 predstavlja ćeliju koja sadrži broj koji želite pretvoriti. Možete i ručno unesite željenu vrijednost kao = SpellNumber(22.50).

  2. Pritisnite Enter da biste potvrdili formulu.

Vrh stranice

Spremite radnu knjigu SpellNumber (funkcija)

Excel ne može spremiti radnu knjigu pomoću funkcije makronaredbi u obliku standardne radnu knjigu makronaredbi (.xlsx). Ako kliknete datoteka > Spremi. Otvara se dijaloški okvir VB projekt . Kliknite nema.

U dijaloškom okviru VB projekta, kliknite ne.

Datoteku možete spremiti kao Excel makronaredbama (.xlsm) da biste zadržali datoteke u trenutnom obliku.

  1. Kliknite Datoteka > Spremi kao.

  2. Kliknite padajući izbornik Spremi u obliku pa odaberite Radnu knjigu u Excel.

  3. Kliknite Spremi.

Vrh stranice

Dodatni sadržaji

TEXT (funkcija)

Proširite svoje vještine korištenja sustava Office
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×