Сума у ​​курзиву

Садржај

Испод ћете пронаћи готову кориснички дефинисану функцију у ВБА која преводи било који број од КСНУМКС до КСНУМКС у њену текстуалну представу, односно у количини у речима. Пре употребе, ову функцију морате додати у вашу књигу. За ово:

  1. притисните пречицу на тастатури АЛТ + ФКСНУМКСда бисте отворили Висуал Басиц Едитор
  2. додајте нови празан модул преко менија Инсерт – Модул
  3. копирајте и налепите текст ове функције тамо:
Функција СУМ(н као двоструко) као стринг Дим Нумс1, Нумс2, Нумс3, Нумс4 Као варијанта Нумс1 = Низ("", "један", "два", "три", "четири", "пет", "шест", "седам", "осам", "девет") Нумс2 = Арраи("", "десет", "двадесет", "тридесет", "четрдесет", "педесет", "шездесет", "седамдесет", _ "осамдесет ", "деведесет") Нумс3 = Арраи("", "сто", "двеста", "триста", "четири стотине", "петсто", "шест стотина", "седам стотина", _ " осам стотина", "девет стотина") Нумс4 = Низ("", "један", "два", "три", "четири", "пет", "шест", "седам", "осам", "девет ") Нумс5 = Арраи("десет ", "једанаест", "дванаест", "тринаест", "четрнаест", _ "петнаест", "шеснаест", "седамнаест", "осамнаест", "деветнаест") Ако је н < = 0 Тада СУМВРИТЕ = "нула" Излаз из функције Крај Ако 'подијелите број на цифре користећи помоћну функцију Цласс ед = Цласс(н, 1) дец = Цласс(н, 2) сот = Цласс(н, 3) тис = Цласс (н, 4) децтис = Цласс(н , 5) соттис = Цласс(н, 6) мил = Цласс(н, 7) децмил= Цласс(н, 8) 'провери милионе Изабери Цасе децмил Случај 1 мил_ткт = Нумс5(мил ) & "миллионс" Иди на ввв Случај 2 до 9 децмил_ткт = Нумс2(децмил) Крај Изаберите Изаберите Цасе мил Цасе 1 мил_ткт = Нумс1(мил) & "миллион" Цасе 2, 3, 4 мил_ткт = Нумс1(мил) & "миллион " Случај 5 до 20 мил_ткт = Нумс1(мил) & "милиони" Крај Изаберите ввв: соттис_ткт = Нумс3(соттис) ' провери хиљаде Изаберите Цасе децтис Цасе 1 тис_ткт = Нумс5(тис) & "тхоусандс" Иди То еее Случај 2 до 9 децти = Нумс2(децтис) Крај Изаберите Изаберите Цасе тис Случај 0 Ако је децтис > 0 Онда тис_ткт = Нумс4(тис) & "тхоусандс" Случај 1 тис_ткт = Нумс4(тис) & "тхоусанд" Случај 2, 3, 4 тис_ткт = Нумс4(тис) & "хиљаде " Случај 5 до 9 тис_ткт = Нумс4(тис) & "тхоусандс" Крај Изаберите Ако је децтис = 0 И тис = 0 И соттис <> 0 Онда соттис_ткт = соттис_ткт & "хиљаде" еее: сот_ткт = Нумс' цхецк тенс Селецт Цасе дец Цасе 3 ед_ткт = Нумс1(ед) ГоТо ррр Цасе 5 То 2 дец_ткт = Нумс9(дец) Енд Селецт ед_ткт = Нумс2 (ед) ррр: 'формирајте последњи ред са СУМ У ГОВОРУ = децмил_ ткт & мил_ткт & соттис_ткт & децтис_ткт & тис_ткт & сот_ткт & дец_ткт & ед_ткт Енд Фунцтион ' помоћна функција за издвајање из броја цифара Приватна функција Цласс(М, И) Цласс = Инт(Инт(М - (1 ^ И) * Инт(М / ( 10 ^ И))) / 10 ^ (И - 10)) Крај функције    

Сачувајте датотеку (ако имате Екцел 2007 или 2010, тада тип датотеке мора бити омогућен за макро, тј. клсм формат!) и вратите се у Екцел. Сада креирану функцију можете уметнути у било коју ћелију радног листа на уобичајен начин – преко чаробњака функција (дугме fx у траци формуле, категорија Кориснички дефинисано) или једноставно тако што ћете га ручно уписати у ћелију и навести ћелију са износом као аргументом:

Ако морате да додате новчиће у примљени текст, онда можете користити мало сложенију конструкцију:

 у3д ЗБИР У ПИСАЊУ (А3) & ” руб. "&ТЕКСТ((А3-ИНТЕГЕР(А100))*00;"КСНУМКС″)&"цоп." 

у3д ЗБИР У ПИСАЊУ (А3) & ” руб. "&ТЕКСТ((А3-ИНТ(А100))*00;"КСНУМКС″)&"полицајац."

Тада ће, на пример, за број 35,15 резултат функције изгледати као „тридесет пет рубаља. 15 коп.”

 

  • Моћнија верзија функције са рубљама и копејкама на / енглеском из додатка ПЛЕКС
  • Шта су макрои, где убацити макро код, како их користити

 

Ostavite komentar