Kui teil on kunagi olnud vaja tekstina välja kirjutatud numbrit kuvada, avastasite tõenäoliselt, et Excel sellist funktsiooni ei paku. Kui Exceli tarnimine ebaõnnestub, on sageli võimalik puudust VBA abil parandada. Siin on VBA funktsioon nimega SPELLDOLLARS , mida saate kasutada töölehe valemites.
Exceli näited
Siin on mõned näited SPELLDOLLARSist.

VBA kood
Selle koodi kasutamiseks vajutage Visual Basic Editori aktiveerimiseks Alt+F11. Seejärel valige uue VBA mooduli sisestamiseks Lisa → Moodul. Kopeerige kood ja kleepige see uude moodulisse.
Funktsioon SPELLDOLLARS(lahter) Variandina
Tagastab väärtuse sõnadega
Tumedad dollarid stringina, sendid nöörina
Dim TextLen As Long, Pos As Long
Dim Temp Stringina
Dim iHundreds As Long, iTens As Long, iOnes As Long
Dim Ones as Variant, Teens as Variant, Tens as Variant
Dim Units (2 kuni 5) Stringina
Dim bHit kui Boolean, NegFlag kui Boolean
Kas see on mittearv või tühi lahter?
Kui ei oleNumeric(cell) Või lahter = "" Siis
SPELLDOLLARS = CVERr(xlErrValue)
Väljumise funktsioon
Lõpeta Kui
' Kas see on negatiivne?
Kui lahter < 0="" then="" negflag="True" cell="Abs(cell)" end="" if="" dollars="Vorming(lahter," "###0.00"="") textlen="Len(Dollars)" -="" 3="" '="" is="" it="" too="" large?="" if="" textlen=""> 15 Seejärel
SPELLDOLLARS = CVERr(xlErrNum)
Väljumise funktsioon
Lõpeta Kui
"Tehke sentide osa
Senti = parem (dollarit, 2) ja "/100 dollarit"
Kui lahter < 1="" then="" spelldollars="Senti" exit="" function="" end="" if="" dollars="Left(Dollars," textlen)="" ones="Array( ""," "üks",="" "kaks",="" "kolm",="" "neli",="" _="" "viis",="" "kuus",="" "seitse",="" "kaheksa",="" "üheksa"="" teens="Array("Kümme"," "üksteist",="" "kaksteist",="" "kolmteist",= "" "neliteist",="" _="" "fifteen",="" "sixteen",="" "seventeen",="" "kaheksateist",="" "üheksateist"="" tens= "Array(""," "",="" "twenty",="" "thirty",="" "nelikümmend",="" "viiskümmend",="" _="""kuuskümmend",="" "seventy",="" "kaheksakümmend",="" "üheksakümmend"="" units(2)=""Thousand"" units(3)=""Miljon"" units( 4)=""Miljard"" ühikut(5)=""Trillion"" temp="""" for="" pos="15" to="" 3="" step="" -3="" if="" textlen="">= Pos - 2 Siis
bHit = vale
Kui TextLen >= Pos Siis
iHundreds = Asc (keskmine $ (dollarid, tekstLen - positsioon + 1, 1)) - 48
Kui iHundreds > 0 Siis
Temp = Temp & " " & Ones (isada) & " Hundred"
bHit = Tõene
Lõpeta Kui
Lõpeta Kui
iTens = 0
iOnes = 0
Kui TextLen >= Pos - 1 Siis
iTens = Asc (keskmine $ (dollarid, tekstLen - asend + 2, 1)) - 48
Lõpeta Kui
Kui TextLen >= Pos - 2 Siis
iOnes = Asc (keskmine $ (dollarid, tekstLen - asend + 3, 1)) - 48
Lõpeta Kui
Kui iTens = 1 Siis
Temp = Temp & " " & teismelised (iOnes)
bHit = Tõene
Muidu
Kui iTens >= 2 Siis
Temp = Temp & " " & Tens(iTens)
bHit = Tõene
Lõpeta Kui
Kui iOnes > 0 Siis
Kui iTens >= 2 Siis
Temp = Temp & "-"
Muidu
Temp = Temp & " "
Lõpeta Kui
Temp = Temp & Ones (iOnes)
bHit = Tõene
Lõpeta Kui
Lõpeta Kui
Kui bHit ja Pos > 3, siis
Temp = Temp & " " & ühikud (positsioon 3)
Lõpeta Kui
Lõpeta Kui
Järgmine pos
SPELLDOLLARS = Trim (Temp) & " ja " & Cents
Kui NegFlag, siis SPELLDOLLARS = "(" & SPELLDOLLARS & ")"
Lõpetamisfunktsioon