Pretvorba brojčane vrijednosti u engleske riječi u programu Excel

S AŽ E T A K

Ovaj članak sadrži ogledne funkcije programa Microsoft Visual Basic for Applications koje možete koristiti za pretvorbu brojčane vrijednosti u ćeliji radnog lista programa Microsoft Excel u odgovarajuće engleske riječi.

D O D A T N E I N F O R M A C I J E

Microsoft navodi primjere programiranja samo radi ilustracije, bez jamstva, bilo izričitog, bilo impliciranog. To obuhvaća, bez ograničenja, posredna jamstva glede tržišne kurentnosti ili prikladnosti za određenu svrhu. U ovom se članku podrazumijeva da poznajete programski jezik koji se koristi u primjeru i alate koji se koriste za stvaranje i ispravljanje pogrešaka u postupcima. Microsoftovi inženjeri za podršku mogu objasniti funkciju određenog postupka. Neće, međutim, mijenjati te primjere da bi ponudili dodatne funkcije niti prilagođavati postupke vašim potrebama.

Stvaranje ogledne funkcije pod nazivom SpellNumber

  1. Pokrenite Microsoft Excel.
  2. Pritisnite ALT+F11 da biste pokrenuli Visual Basic Editor.
  3. Na izborniku Umetni kliknite Modul.
  4. U list modula upišite sljedeći kod:
    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

Korištenje ogledne funkcije SpellNumber

Da biste koristili ogledne funkcije za pretvorbu broja u tekst, iskoristite jedan od načina pokazanih u sljedećim primjerima:

Prvi način: Izravni unos

Možete pretvoriti 32.50 u „Thirty Two Dollars and Fifty Cents” unosom sljedeće formule u ćeliju:
=SpellNumber(32.50)

Drugi način: Referenca na ćeliju

Možete se referirati na druge ćelije u radnoj knjizi. Na primjer, unesite broj 32.50 u ćeliju A1 pa upišite sljedeću formulu u drugu ćeliju:
=SpellNumber(A1)

Treći način: Umetanje funkcije

Za korištenje stavke Umetni funkciju slijedite ove korake:


Excel 2003:
  1. Odaberite željenu ćeliju.
  2. Na alatnoj traci Standardno kliknite Umetni funkciju .
  3. U odjeljku Ili odaberite kategoriju kliknite Korisnički definirano.
  4. Na popisu Odabir funkcije, kliknite SpellNumber, a zatim kliknite U redu.
  5. Unesite željeni broj ili referencu na ćeliju pa kliknite U redu.

Excel 2007 i 2010:
  1. Odaberite željenu ćeliju.
  2. Na vrpci Formule  kliknite Umetni funkciju.
  3. U odjeljku Ili odaberite kategoriju kliknite Korisnički definirano.
  4. Na popisu Odabir funkcije, kliknite SpellNumber, a zatim kliknite U redu.
  5. Unesite željeni broj ili referencu na ćeliju pa kliknite U redu.



Svojstva

ID članka: 213360 - posljednja izmjena: 30. ruj 2014. - verzija: 1

Povratne informacije