Ако вам је икада било потребно да прикажете број написан као текст, вероватно сте открили да Екцел не нуди такву функцију. Када Екцел не успе, често је могуће исправити недостатак коришћењем ВБА. Ево ВБА функције, назване СПЕЛЛДОЛЛАРС , коју можете користити у формулама радног листа.
Екцел примери
Ево неколико примера СПЕЛЛДОЛЛАРС-а.
ВБА код
Да бисте користили овај код, притисните Алт+Ф11 да бисте активирали Висуал Басиц Едитор. Затим изаберите Убаци → Модул да уметнете нови ВБА модул. Копирајте код и налепите га у нови модул.
Функција СПЕЛЛДОЛЛАРС(ћелија) као варијанта
' Враћа вредност, написану речима
Дим Долларс Ас Стринг, Центс Ас Стринг
Дим ТектЛен Ас Лонг, Пос Ас Лонг
Дим Темп Ас Стринг
Дим иХундредс Ас Лонг, иТенс Ас Лонг, иОнес Ас Лонг
Дим Онес Ас Вариант, Теенс Ас Вариант, Тенс Ас Вариант
Дим Унитс (2 до 5) као стринг
Дим бХит као Боолеан, НегФлаг као Боолеан
' Да ли је ћелија која није број или је празна?
Ако није Нумеричка(ћелија) Или ћелија = „“ Онда
СПЕЛЛДОЛЛАРС = ЦВЕРр(клЕррВалуе)
Излаз функција
Крај Ако
' Да ли је негативан?
Ако је ћелија < 0="" тхен="" негфлаг="Труе" целл="Абс(целл)" енд="" иф="" долларс="Формат(целл," “###0.00”)="" тектлен="Лен(Долларс)" -="" 3="" '="" ис="" ит="" тоо="" ларге?="" иф="" тектлен=""> 15 Затим
СПЕЛЛДОЛЛАРС = ЦВЕРр(клЕррНум)
Излаз функција
Крај Ако
' Урадите део центи
Центи = десно (долари, 2) & „/100 долара“
Ако је ћелија < 1="" тхен="" спеллдолларс="Центс" екит="" фунцтион="" енд="" иф="" долларс="Лефт(Долларс," тектлен)="" онес="Низ( ““,” “један”,="" "два",="" "три",="" "четири",="" _="" "пет",="" "шест",="" “седам”,="" “осам”,="" “девет”)="" теенс="Арраи("Десет"," "једанаест",="" "дванаест",="" "тринаест",= "" "четрнаест",="" _="" "петнаест",="" "шеснаест",="" "седамнаест",="" "осамнаест",="" "деветнаест")="" десетице= „Низ(““,“ „“,="" „двадесет”,="" „тридесет”,="" „четрдесет”,="" „педесет”,="" _=""“шездесет”,="" "седамдесет",="" "осамдесет",="" "деведесет")="" унитс(2)=""Хиљаду"" унитс(3)=""Миллион"" унитс( 4)="“Билион"" унитс(5)=""Трилион"" темп="""" фор="" пос="15" то="" 3="" степ="" -3="" иф="" тектлен="">= Поз - 2 Затим
бХит = Фалсе
Ако ТектЛен >= Пос Онда
иХундредс = Асц(Мид$(Долари, ТектЛен - Пос + 1, 1)) - 48
Ако је иХундредс > 0 Онда
Темп = Темп & “ “ & Онес (иХундредс) & “ Хундред”
бХит = Тачно
Крај Ако
Крај Ако
иТенс = 0
иОнес = 0
Ако ТектЛен >= Пос - 1 Онда
иТенс = Асц(Мид$(Долари, ТектЛен - Поз + 2, 1)) - 48
Крај Ако
Ако ТектЛен >= Пос - 2 Онда
иОнес = Асц(Мид$(Долари, ТектЛен - Пос + 3, 1)) - 48
Крај Ако
Ако је иТенс = 1 Онда
Темп = Темп & “ “ & Теенс (иОнес)
бХит = Тачно
Иначе
Ако је иТенс >= 2 Онда
Темп = Темп & “ “ & Тенс(иТенс)
бХит = Тачно
Крај Ако
Ако је иОнес > 0 Онда
Ако је иТенс >= 2 Онда
Темп = Темп & “-”
Иначе
Темп = Темп & “ “
Крај Ако
Темп = Темп & Онес (иОнес)
бХит = Тачно
Крај Ако
Крај Ако
Ако је бХит и поз > 3 Онда
Темп = Темп & “ “ & Јединице (Поз 3)
Крај Ако
Крај Ако
Нект Пос
СПЕЛЛДОЛЛАРС = Трим(Темп) & “ и “ & Центс
Ако је НегФлаг онда СПЕЛЛДОЛЛАРС = “(“ & СПЕЛЛДОЛЛАРС & “)”
Енд Фунцтион