Ja jums kādreiz ir bijis jāparāda skaitlis, kas rakstīts kā teksts, jūs droši vien atklājāt, ka Excel nepiedāvā šādu funkciju. Ja Excel neizdodas piegādāt, bieži vien ir iespējams labot trūkumu, izmantojot VBA. Šeit ir VBA funkcija ar nosaukumu SPELLDOLLARS , ko varat izmantot darblapu formulās.
Excel piemēri
Šeit ir daži SPELLDOLLARS piemēri .
VBA kods
Lai izmantotu šo kodu, nospiediet taustiņu kombināciju Alt+F11, lai aktivizētu Visual Basic redaktoru. Pēc tam izvēlieties Ievietot → Modulis, lai ievietotu jaunu VBA moduli. Nokopējiet kodu un ielīmējiet to jaunajā modulī.
Funkcija SPELLDOLLARS(šūna) Kā variants
Atgriež vērtību, kas izteikta vārdos
Blāvi dolāri kā stīga, centi kā stīga
Dim TextLen As Long, Pos As Long
Dim Temp As String
Dim iHundreds As Long, iTens As Long, iOnes tik ilgi
Dim Ones As Variant, Teens As Variant, Tens As Variant
Dim Units (2 līdz 5) kā virkne
Dim bHit As Boolean, NegFlag As Boolean
Vai tā ir neskaitlis vai tukša šūna?
Ja nav Skaitlis(šūna) Vai šūna = ““ Tad
SPELLDOLLARS = CVERr(xlErrValue)
Izejas funkcija
Beigas Ja
'Vai tas ir negatīvs?
Ja šūna < 0="" then="" negflag="True" cell="Abs(cell)" end="" if="" dollars="Formāts(šūna," "###0.00")="" textlen="Len(dolāri)" -="" 3="" '="" is="" it="" too="" large?="" if="" textlen=""> 15 Pēc tam
SPELLDOLLARS = CVERr(xlErrNum)
Izejas funkcija
Beigas Ja
' Izpildi centu daļu
Centi = pa labi (dolāri, 2) un "/100 dolāri"
Ja šūna < 1="" then="" spelldollars="Cents" exit="" function="" end="" if="" dollars="Left(Dollars," textlen)="" ones="Array( ""," "viens",="" "divi",="" "trīs",="" "četri",="" _="" "pieci",="" "seši",="" "septiņi",="" "astoņi",="" "deviņi"="" teens="Array("Desmit"," "vienpadsmit",="" "divpadsmit",="" "trīspadsmit",= "" "četrpadsmit",="" _="" "piecpadsmit",="" "sešpadsmit",="" "seventeen",="" "astoņpadsmit",="" "deviņpadsmit"="" tens= "Masīvs(""," "",="" "divdesmit",="" "trīsdesmit",="" "četrdesmit",="" "piecdesmit",="" _="""sešdesmit",="" "septiņdesmit",="" "astoņdesmit",="" "deviņdesmit"="" vienības(2)=""Tūkstoš"" vienības(3)=""Miljons"" vienības( 4)=""Miljards"" vienības(5)=""Trillion"" temp="""" for="" pos="15" to="" 3="" step="" -3="" if="" textlen="">= Poz. - 2. Tad
bHit = False
Ja TextLen >= Poz. Tad
iHundreds = Asc (vidēji $ (dolāri, teksta lēca — pozīcija + 1, 1)) — 48
Ja iHundreds > 0 Tad
Temp = Temp & " " & Ones (iSimtiem) un " Simts"
bHit = patiess
Beigas Ja
Beigas Ja
iTens = 0
iOnes = 0
Ja TextLen >= Pos - 1 Tad
iTens = Asc (vidēji $ (dolāri, teksta lēca — pozīcija + 2, 1)) — 48
Beigas Ja
Ja TextLen >= Pos - 2 Tad
iOnes = Asc (vidējais $ (dolāri, teksta lēca — pozīcija + 3, 1)) — 48
Beigas Ja
Ja iTens = 1, tad
Temp = Temp & " " & tīņi (iOnes)
bHit = patiess
Citādi
Ja iTens >= 2 Tad
Temp = Temp & " " & Tens (iTens)
bHit = patiess
Beigas Ja
Ja iOnes > 0 Tad
Ja iTens >= 2 Tad
Temp = Temp & "-"
Citādi
Temp = Temp & " "
Beigas Ja
Temp = Temp & Ones (iOnes)
bHit = patiess
Beigas Ja
Beigas Ja
Ja bHit Un Pos > 3, tad
Temp = Temp & " " & vienības (3. poz.)
Beigas Ja
Beigas Ja
Nākamā poz
SPELLDOLLARS = Trim(Temp) & “ un “ & Cents
Ja NegFlag, tad SPELLDOLLARS = "(" & SPELLDOLLARS & ")"
Beigu funkcija