Pretvaranje brojeva u reči

Napomena: Želimo da vam što pre pružimo najnoviji sadržaj pomoći čim na vašem jeziku. Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li nam na dnu ove stranice saopštiti da li su vam informacije bile od koristi? Ovo je članak na engleskom jeziku za brzu referencu.

Excel nema podrazumevana funkcija koja prikazuje brojeve kao engleske reči u radnom listu, ali možete da dodate ova mogućnost lepljenjem sledeći kôd SpellNumber funkcija u modulu VBA (Visual Basic for Applications). Ova funkcija omogućava vam da konvertujete iznose dolara i procenata u reči koje sadrže formule, da 22.50 da čita kao 22 i po dolara. To može biti veoma korisno ako koristite Excel kao predložak da biste odštampali provere.

Ako želite da konvertujete numeričke vrednosti u tekstualnom formatu bez prikazivanja ih kao reči, koristite funkcije TEXT .

Napomena: Microsoft pruža primere programiranja samo radi ilustracije, bez garancija ili podrazumevane. Ovo uključuje, ali nije ograničeno na podrazumevane garancije o prikladnosti za određenu svrhu. Ovaj članak pretpostavlja da ste upoznati sa programskog jezika VBA i alatke koje se koriste za kreiranje i otklanjanja procedure. Microsoft podrška inženjera može pomoći da objasnite funkcionalnost određene procedure. Međutim, oni neće menjati ove primere da biste obezbedili dodatne funkcije ili kreirati procedure da sa vašim specifičnim zahtevima.

Kreiranje SpellNumber funkcija za pretvaranje brojeva u reči

  1. Koristite tastersku prečicu Alt + F11 da biste otvorili Visual Basic Editor (VBE).

    Napomena: Možete da pristupite i Visual Basic Editor tako što ćete prikazati karticu "Projektovanje" na traci.

  2. Izaberite karticu Umetanje i izaberite stavku modul.

    U meniju Umetanje izaberite stavku modul.
  3. Kopirajte sledeće redove koda.

    Napomena: Poznat kao Korisnički definisane funkcije (UDF), ovaj kôd automatizuje zadatak za konvertovanje brojeva u tekst u celoj na 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. Nalepite redove koda u polju modulu1 (kôd) okvir.

    Kôd nalepljen u u modulu1 (kôd).
  5. Pritisnite tastere Alt + P da biste se vratili u program Excel. Funkcija SpellNumber sada je spreman za upotrebu.

    Napomena: Ova funkcija radi samo za ovu radnu svesku. Da biste koristili ovu funkciju u nekoj drugoj radnoj svesci, morate da ponovite korake da kopirate i nalepite kôd u toj radnoj svesci.

Vrh stranice

Koristite funkciju SpellNumber u pojedinačnim ćelijama

  1. Otkucajte u formulu = SpellNumber(A1) u ćeliju gde želite da prikažete broj napisanih, gde je A1 ćeliju koja sadrži broj koji želite da konvertujete. Možete i ručno da upišete vrednost kao što je = SpellNumber(22.50).

  2. Pritisnite taster Enter da biste potvrdili formulu.

Vrh stranice

Sačuvajte radnu svesku SpellNumber funkcija

Excel ne može da sačuva radnu svesku sa makro funkcije u formatu standardne bez makroa radne sveske (.xlsx). Ako izaberete stavke datoteka > Sačuvaj. Otvara se dijalog VB projekat . Kliknite na dugme ne.

U dijalogu VB projekta, kliknite na dugme ne.

Možete sačuvati datoteku kao za Excel radne sveske (sa makroima.xlsm) da biste datoteka će ostati u trenutnom formatu.

  1. Izaberite stavke Datoteka > Sačuvaj kao.

  2. Kliknite na dugme Sačuvaj kao tip padajući meni i izaberite stavku Excel radne sveske.

  3. Kliknite na dugme Sačuvaj.

Vrh stranice

Takođe pogledajte

Funkcija TEXT

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×