Ef þú hefur einhvern tíma þurft að birta tölu sem er skrifaður sem texti, hefur þú líklega uppgötvað að Excel býður ekki upp á slíka aðgerð. Þegar Excel skilar ekki, er oft hægt að leiðrétta skortinn með því að nota VBA. Hér er VBA fall, sem heitir SPELLDOLLARS , sem þú getur notað í formúlur vinnublaða.
Excel dæmi
Hér eru nokkur dæmi um SPELLDOLLARS.

VBA kóðann
Til að nota þennan kóða, ýttu á Alt+F11 til að virkja Visual Basic Editor. Veldu síðan Insert → Module til að setja inn nýja VBA einingu. Afritaðu kóðann og límdu hann inn í nýju eininguna.
Virka SPELLDOLLARS(reitur) Sem afbrigði
' Skilar gildi, stafsett með orðum
Dimmt dollarar sem strengur, sent sem strengur
Dimma TextLen eins lengi, pos eins lengi
Dim Temp As String
Dimma iHundreds As Long, iTens As Long, iOnes As Long
Dimir eins og afbrigði, unglingar sem afbrigði, tíu sem afbrigði
Dimma einingar (2 til 5) sem strengur
Dim bHit Sem Boolean, NegFlag Sem Boolean
' Er það ónúmer eða tómt hólf?
Ef ekki IsNumeric(cell) Eða reit = ““ Þá
SPELLDOLLARS = CVErr(xlErrValue)
Hætta aðgerð
End If
„Er það neikvætt?
Ef reit < 0="" then="" negflag="True" cell="Abs(cell)" end="" if="" dollars="Format(cell," “###0.00”)="" textlen="Len(dollarar)" -="" 3="" '="" is="" it="" too="" large?="" if="" textlen=""> 15 Þá
SPELLDOLLARS = CVErr(xlErrNum)
Hætta aðgerð
End If
' Gerðu sent hlutinn
Cent = Rétt (Dollarar, 2) & "/100 Dollars"
If cell < 1="" then="" spelldollars="Cents" exit="" function="" end="" if="" dollars="Left(Dollars," textlen)="" ones="Array( ““,” “einn”,="" "tveir",="" "þrír",="" "fjórir",="" _="" "fimm",="" "sex",="" "sjö",="" "átta",="" "níu")="" teens="Array("Tíu"," "ellefu",="" "tólf",="" "þrettán",= "" "fjórtán",="" _="" "fimmtán",="" "sextán",="" "sjötján",="" "átján",="" "nítján")="" tugir= "Array(““," ““,="" "tuttugu",="" "þrjátíu",="" "fjörutíu",="" "fimmtíu",="" _=""“sextíu”,="" "sjötíu",="" "átta",="" "níutíu")="" einingar(2)=""Þúsund"" einingar(3)=""Milljón"" einingar( 4)="“Billion”" units(5)="“Trillion”" temp="““" for="" pos="15" to="" 3="" step="" -3="" if="" textlen="">= Pos - 2 Þá
bHit = Rangt
Ef TextLen >= Pos Þá
iHundreds = Asc(Mið$(Dollarar, TextLen - Pos + 1, 1)) - 48
Ef iHundreds > 0 Þá
Temp = Temp & “ “ & Ones(iHundreds) & “ Hundred”
bHit = satt
End If
End If
íTens = 0
iOnes = 0
Ef TextLen >= Pos - 1 Þá
iTens = Asc(Mid$(Dollarar, TextLen - Pos + 2, 1)) - 48
End If
Ef TextLen >= Pos - 2 Þá
iOnes = Asc(Mið$(Dollarar, TextLen - Pos + 3, 1)) - 48
End If
Ef iTens = 1 þá
Temp = Temp & “ “ & Teens(iOnes)
bHit = satt
Annar
Ef iTens >= 2 Þá
Temp = Temp & “ “ & Tens(iTens)
bHit = satt
End If
Ef iOnes > 0 Þá
Ef iTens >= 2 Þá
Hitastig = Temp & “-”
Annar
Temp = Temp & “ “
End If
Temp = Temp & Ones(iOnes)
bHit = satt
End If
End If
Ef bHit Og Pos > 3 Þá
Temp = Temp & “ “ & Units(Pos 3)
End If
End If
Næsta Pos
SPELLDOLLARS = Trim(Temp) & “ og “ & Cents
Ef NegFlag Þá SPELLDOLLARS = “(“ & SPELLDOLLARS & “)”
Lokaaðgerð