Сумма и числа прописью на украинском языке

Для начала скажу, что я зарабатываю через вот этого брокера, проверен он временем! А вот хороший пример заработка, человек зарабатывает через интернет МНОГО МНОГО МНОГО и показывает все на примерах, переходи и читай! Добавь страницу в закладки. А теперь читаете информацию ниже и пишите свой отзыв

Если вам требуется написать цифры на украинском языке, то вы так же можете воспользоваться пользовательской функцией PropisUkr, этой функции нет в самом Excel, ее вы можете вставить самостоятельно с помощью макроса.

Пользовательская функция для перевода чисел в текстовом виде на украинском языке выглядит следующим образом:

=PropisUkr (n-hryvnias-kopecks)

где

n — ссылка на ячейку с суммой, числом
hryvnias — необязательный аргумент, позволяет показывать (1) или не показывать (0) слово гривны
kopecks — необязательный аргумент, позволяет показывать (1) или не показывать (0) в конце копейки.

Чтобы сделать активной данную функции необходимо добавить код в VBA для этого:

  • нажмите сочетание клавиш ALT+F11, чтобы открыть редактор Visual Basic
  • добавьте новый пустой модуль через меню Insert — Module
  • скопируйте и вставьте туда код этой функции, указанный ниже:

Видео: Преобразование числа в текст прописью по-русски

Макрос пользовательской функции для перевода чисел в текстовом виде на украинском языке

Function PropisUkr(n As Double, Optional hryvnias As Variant = False, Optional kopecks As Variant = False) As StringNums0 = Array(«», «одна «, «дві «, «три «, «чотири «, «п`ять «, «шість «, «сім «, «вісім «, «дев`ять «)Nums1 = Array(«», «один «, «два «, «три «, «чотири «, «п`ять «, «шість «, «сім «, «вісім «, «дев`ять «)Nums2 = Array(«», «десять «, «двадцять «, «тридцять «, «сорок «, «п`ятдесят «, «шістдесят «, «сімдесят «, «вісімдесят «, «дев`яносто «)Nums3 = Array(«», «сто «, «двісті «, «триста «, «чотириста «, «п`ятсот «, «шістсот «, «сімсот «, «вісімсот «, «дев`ятсот «)Nums4 = Array(«», «одна «, «дві «, «три «, «чотири «, «п`ять «, «шість «, «сім «, «вісім «, «дев`ять «)Nums5 = Array(«десять «, «одинадцять «, «дванадцять «, «тринадцять «, «чотирнадцять «, «п`ятнадцять «, «шістнадцять «, «сімнадцять «, «вісімнадцять «, «дев`ятнадцять «)Sum = WorksheetFunction.Round(CDbl(n), 2)whole = Int(Sum)fraq = Format(Round(Abs(Sum — whole) * 100), «00»)hryvnias = CBool(hryvnias)kopecks = CBool(kopecks)If Sum < 0 Thenwhole = 0fraq = Format(0, «00»)ed_txt = «Ноль «GoTo rrrEnd Ifed = Class(n, 1)dec = Class(n, 2)sot = Class(n, 3)tys = Class(n, 4)dectys = Class(n, 5)sottys = Class(n, 6)mil = Class(n, 7)decmil = Class(n, 8)sotmil = Class(n, 9)bil = Class(n, 10)Select Case bilCase 1bil_txt = Nums1(bil) & «мільярд «Case 2 To 4bil_txt = Nums1(bil) & «мільярди «Case 5 To 9bil_txt = Nums1(bil) & «мільярдів «End SelectSelect Case sotmilCase 1 To 9sotmil_txt = Nums3(sotmil)End SelectSelect Case decmilCase 1mil_txt = Nums5(mil) & «мільйонів «GoTo wwwCase 2 To 9decmil_txt = Nums2(decmil)End SelectSelect Case milCase 0If decmil > 0 Then mil_txt = Nums4(mil) & «мільйонів «Case 1mil_txt = Nums1(mil) & «мільйон «Case 2, 3, 4mil_txt = Nums1(mil) & «мільйона «Case 5 To 9mil_txt = Nums1(mil) & «мільйонів «End SelectIf decmil = 0 And mil = 0 And sotmil <> 0 Then sotmil_txt = sotmil_txt & «мільйонів «www:sottys_txt = Nums3(sottys)Select Case dectysCase 1tys_txt = Nums5(tys) & «тисяч «GoTo eeeCase 2 To 9dectys_txt = Nums2(dectys)End SelectSelect Case tysCase 0If dectys > 0 Then tys_txt = Nums4(tys) & «тисяч «Case 1tys_txt = Nums4(tys) & «тисячa «Case 2, 3, 4tys_txt = Nums4(tys) & «тисячі «Case 5 To 9tys_txt = Nums4(tys) & «тисяч «End SelectIf dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & » тисяч «eee:sot_txt = Nums3(sot)Select Case decCase 1ed_txt = Nums5(ed)GoTo rrrCase 2 To 9dec_txt = Nums2(dec)End Selected_txt = Nums0(ed)If whole < 1 Then ed_txt = «Ноль «rrr:Select Case Class(n, 1) + Class(n, 2) * 10Case 1, 21, 31, 41, 51, 61, 71, 81, 91grv_text = «гривня»Case 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94grv_text = «гривні»Case Elsegrv_text = «гривень»End SelectSelect Case fraqCase 1, 21, 31, 41, 51, 61, 71, 81, 91kop_text = «копiйка»Case 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94kop_text = «копійки»Case Elsekop_text = «копійок»End Selectoutstr = bil_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txtIf hryvnias Then outstr = outstr & grv_textIf hryvnias And kopecks Then outstr = outstr & » » & fraq & » » & kop_textPropisUkr = UCase(Mid(outstr, 1, 1)) + Mid(outstr, 2)End FunctionPrivate Function Class(m, i)Class = Int(Int(m — (10 ^ i) * Int(m / (10 ^ i))) / 10 ^ (i — 1))End FunctionPrivate Function ScriptRus(n As Double) As StringDim Nums1, Nums2, Nums3, Nums4 As VariantNums1 = Array(«», «один «, «два «, «три «, «четыре «, «пять «, «шесть «, «семь «, «восемь «, «девять «)Nums2 = Array(«», «десять «, «двадцать «, «тридцать «, «сорок «, «пятьдесят «, «шестьдесят «, «семьдесят «, «восемьдесят «, «девяносто «)Nums3 = Array(«», «сто «, «двести «, «триста «, «четыреста «, «пятьсот «, «шестьсот «, «семьсот «, «восемьсот «, «девятьсот «)Nums4 = Array(«», «одна «, «две «, «три «, «четыре «, «пять «, «шесть «, «семь «, «восемь «, «девять «)Nums5 = Array(«десять «, «одиннадцать «, «двенадцать «, «тринадцать «, «четырнадцать «, «пятнадцать «, «шестнадцать «, «семнадцать «, «восемнадцать «, «девятнадцать «)If n = 0 ThenScriptRus = «Ноль»Exit FunctionEnd Ifed = Class(n, 1)dec = Class(n, 2)sot = Class(n, 3)tys = Class(n, 4)dectys = Class(n, 5)sottys = Class(n, 6)mil = Class(n, 7)decmil = Class(n, 8)sotmil = Class(n, 9)mlrd = Class(n, 10)If mlrd > 0 ThenSelect Case mlrdCase 1mlrd_txt = Nums1(mlrd) & «миллиард «Case 2, 3, 4mlrd_txt = Nums1(mlrd) & «миллиарда «Case 5 To 20mlrd_txt = Nums1(mlrd) & «миллиардов «End SelectEnd IfIf (sotmil + decmil + mil) > 0 Thensotmil_txt = Nums3(sotmil)Select Case decmilCase 1mil_txt = Nums5(mil) & «миллионов «GoTo wwwCase 2 To 9decmil_txt = Nums2(decmil)End SelectSelect Case milCase 1mil_txt = Nums1(mil) & «миллион «Case 2, 3, 4mil_txt = Nums1(mil) & «миллиона «Case 0, 5 To 20mil_txt = Nums1(mil) & «миллионов «End SelectEnd Ifwww:sottys_txt = Nums3(sottys)Select Case dectysCase 1tys_txt = Nums5(tys) & «тысяч «GoTo eeeCase 2 To 9dectys_txt = Nums2(dectys)End SelectSelect Case tysCase 0If dectys > 0 Then tys_txt = Nums4(tys) & «тысяч «Case 1tys_txt = Nums4(tys) & «тысяча «Case 2, 3, 4tys_txt = Nums4(tys) & «тысячи «Case 5 To 9tys_txt = Nums4(tys) & «тысяч «End SelectIf dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & » тысяч «eee:sot_txt = Nums3(sot)Select Case decCase 1ed_txt = Nums5(ed)GoTo rrrCase 2 To 9dec_txt = Nums2(dec)End Selected_txt = Nums1(ed)rrr:ScriptRus = mlrd_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txtScriptRus = UCase(Left(ScriptRus, 1)) & LCase(Mid(ScriptRus, 2, Len(ScriptRus) — 1))End FunctionPrivate Function ScriptEng(ByVal Number As Double)Dim BigDenom As String, Temp As StringDim Count As IntegerReDim Place(9) As StringPlace(2) = » Thousand «Place(3) = » Million «Place(4) = » Billion «Place(5) = » Trillion «strAmount = Trim(Str(Int(Number)))Count = 1Do While strAmount <> «»Temp = GetHundreds(Right(strAmount, 3))If Temp <> «» Then BigDenom = Temp & Place(Count) & BigDenomIf Len(strAmount) > 3 ThenstrAmount = Left(strAmount, Len(strAmount) — 3)ElsestrAmount = «»End IfCount = Count + 1LoopSelect Case BigDenomCase «»BigDenom = «Zero «Case «One»BigDenom = «One «Case ElseBigDenom = BigDenom & » «End SelectScriptEng = BigDenomEnd FunctionPrivate Function GetHundreds(ByVal MyNumber)Dim result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right(«000» & MyNumber, 3)If Mid(MyNumber, 1, 1) <> «0» Thenresult = GetDigit(Mid(MyNumber, 1, 1)) & » Hundred «End IfIf Mid(MyNumber, 1, 1) <> «0» And (Mid(MyNumber, 2, 1) <> «0» Or Mid(MyNumber, 3, 1) <> «0») Thenresult = result & «And «End IfIf Mid(MyNumber, 2, 1) <> «0» Thenresult = result & GetTens(Mid(MyNumber, 2))Elseresult = result & GetDigit(Mid(MyNumber, 3))End IfGetHundreds = resultEnd FunctionPrivate Function GetTens(TensText)Dim result As Stringresult = «»If Val(Left(TensText, 1)) = 1 ThenSelect Case Val(TensText)Case 10: result = «Ten»Case 11: result = «Eleven»Case 12: result = «Twelve»Case 13: result = «Thirteen»Case 14: result = «Fourteen»Case 15: result = «Fifteen»Case 16: result = «Sixteen»Case 17: result = «Seventeen»Case 18: result = «Eighteen»Case 19: result = «Nineteen»Case ElseEnd SelectElseSelect Case Val(Left(TensText, 1))Case 2: result = «Twenty «Case 3: result = «Thirty «Case 4: result = «Forty «Case 5: result = «Fifty «Case 6: result = «Sixty «Case 7: result = «Seventy «Case 8: result = «Eighty «Case 9: result = «Ninety «Case ElseEnd Selectresult = result & GetDigit _(Right(TensText, 1))End IfGetTens = resultEnd FunctionPrivate Function GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = «One»Case 2: GetDigit = «Two»Case 3: GetDigit = «Three»Case 4: GetDigit = «Four»Case 5: GetDigit = «Five»Case 6: GetDigit = «Six»Case 7: GetDigit = «Seven»Case 8: GetDigit = «Eight»Case 9: GetDigit = «Nine»Case Else: GetDigit = «»End SelectEnd Function

Примечание

Видео: Купюра 25 рублей 1961 года и Фальшивомонетчик СССР № 1 бонистика коллекция денег

  • Данная функция будет работать с числами от 0 до 99 999 999
  • Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
  • Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)

Пример, если вы хотите, чтобы функция заменяла числа на украинский текст, со словами «гривна» и копейками, то напишите следующую формулу.

=PropisUkr (A1-1-1)

где A1 — это ссылка на ячейку с числом, которое необходимо перевести в текст.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*