Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

"Excel" neturi numatytosios funkcijos, kuri darbalapyje rodo skaičius kaip angliškus žodžius, tačiau galite įtraukti šią galimybę įklijuodami šį SpellNumber funkcijos kodą į VBA ("Visual Basic for Applications") modulį. Ši funkcija leidžia konvertuoti dolerio ir cento sumas į žodžius naudojant formulę, todėl 22,50 būtų perskaityta kaip Twenty-Two doleriais ir penkiasdešimt centų. Tai gali būti labai naudinga, jei čekius spausdinate naudodami "Excel" kaip šabloną.

Jei norite konvertuoti skaitines reikšmes į teksto formatą nerodydami jų kaip žodžių, naudokite funkciją TEXT .

Pastaba: "Microsoft" pateikia programavimo pavyzdžius tik iliustracijoms, be išreikštos arba numanomos garantijos. Tai apima, bet neapsiriboja, numanomas garantijas dėl tinkamumo parduoti ar tinkamumo konkrečiam tikslui. Šiame straipsnyje daroma prielaida, kad esate susipažinę su VBA programavimo kalba ir įrankiais, kurie naudojami procedūroms kurti ir derinti. "Microsoft" palaikymo inžinieriai gali padėti paaiškinti konkrečios procedūros funkcijas. Tačiau jie nekeis šių pavyzdžių, kad suteiktų papildomų funkcinių galimybių arba sukurtų procedūras, atitinkančias jūsų konkrečius reikalavimus.

SpellNumber funkcijos kūrimas skaičiams į žodžius konvertuoti

  1. Norėdami atidaryti "Visual Basic" rengyklę (VBE), naudokite sparčiuosius klavišus Alt + F11 .

    Pastaba: Taip pat galite pasiekti „Visual Basic“ rengyklę rodydami programų kūrėjo skirtuką juostelėje.

  2. Spustelėkite skirtuką Įterpimas, tada spustelėkite Modulis.

    Meniu Įterpimas spustelėkite Modulis.
  3. Nukopijuokite šias kodo eilutes.

    Pastaba: Šis kodas, vadinamas vartotojo apibrėžta funkcija (UDF), automatizuoja skaičių konvertavimo į tekstą užduotį visame darbalapyje.

    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. Įklijuokite kodo eilutes į lauką Modulis1 (kodas).

    Kodas, įklijuotas į Module1 (kodas) lauką.
  5. Paspauskite Alt + Q , kad grįžtumėte į "Excel". Dabar SpellNumber funkcija paruošta naudoti.

    Pastaba: Ši funkcija veikia tik dabartinėje darbaknygėje. Norėdami naudoti šią funkciją kitoje darbaknygėje, turite pakartoti veiksmus, kad nukopijuotumėte ir įklijuotumėte kodą į tą darbaknygę.

Puslapio viršus

SpellNumber funkcijos naudojimas atskiruose langeliuose

  1. Įveskite formulę =SpellNumber(A1) į langelį, kuriame norite rodyti parašytą skaičių, kur A1 yra langelis, kuriame yra norimas konvertuoti skaičius. Taip pat galite rankiniu būdu įvesti reikšmę, pvz., =SpellNumber(22.50).

  2. Paspauskite "Enter ", kad patvirtintumėte formulę.

Puslapio viršus

Darbaknygės su SpellNumber funkcija įrašymas

Excel negali įrašyti darbaknygės su makrokomandų funkcijomis standartiniu darbaknygės be makrokomandų formatu (.xlsx). Jei spustelėsite Failas > Įrašyti. Atidaromas VB projekto dialogo langas. Spustelėkite Ne.

VB projekto dialogo lange spustelėkite Nr.

Galite įrašyti failą kaip "Excel" Macro-Enabled darbaknygę (.xlsm ), kad išlaikytumėte dabartinį failo formatą.

  1. Spustelėkite Failas > Įrašyti kaip.

  2. Spustelėkite išplečiamąjį meniu Įrašyti kaip tipą ir pasirinkite "Excel" Macro-Enabled darbaknygė.

  3. Spustelėkite Įrašyti.

Puslapio viršus

Taip pat žr.

Funkcija TEXT

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×