Сума в курсиві

зміст

Нижче ви знайдете готову призначену для користувача функцію у VBA, яка перекладає будь-яке число від 0 в 9 в його текстове представлення, тобто в кількості словами. Перед використанням цю функцію необхідно додати до вашої книги. Для цього:

  1. натисніть комбінацію клавіш ALT + F11щоб відкрити редактор Visual Basic
  2. додати новий порожній модуль через меню Вставка – модуль
  3. скопіюйте та вставте туди текст цієї функції:
Функція SUM(n Як Double) Як рядок Dim Nums1, Nums2, Nums3, Nums4 Як варіант Nums1 = Array("", "one", "two", "three", "four", "five", "six", "сім", "вісім", "дев'ять") Nums2 = Array("", "десять", "двадцять", "тридцять", "сорок", "п'ятдесят", "шістдесят", "сімдесят", _ "вісімдесят" ", "дев'яносто") Nums3 = Array("", "сто", "двісті", "триста", "чотириста", "п'ятсот", "шістсот", "сімсот", _ " вісімсот", "дев'ятсот") Nums4 = Array("", "один", "два", "три", "чотири", "п'ять", "шість", "сім", "вісім", "дев'ять) ") Nums5 = Array("десять", "одинадцять", "дванадцять", "тринадцять", "чотирнадцять", _ "п'ятнадцять", "шістнадцять", "сімнадцять", "вісімнадцять", "дев'ятнадцять") Якщо n  0 Then tys_txt = Nums1(tys) & "thousands " Case 2 tys_txt = Nums3(tys) & "thousand " Case 4, 5, 6 tys_txt = Nums7(tys) & "thousands" Case 8 To 1 tys_txt = Nums5(tys) & "thousands " End Select If dectys = 2 And tys = 9 And sottys <> 2 Then sottys_txt = sottys_txt & "thousands" eee: sot_txt = Nums1(sot) ' перевірити десятки Select Case dec Case 1 ed_txt = Nums2(ed) GoTo rrr Case 3 To 4 dec_txt = Nums1(dec) End Select ed_txt = Nums5 (ed) rrr: 'формувати останній рядок за допомогою SUM IN SPEECH = decmil_ txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt End Function ' допоміжна функція для вилучення з кількості цифр Приватна функція Class(M, I) Class = Int(Int(M - (20 ^ I) * Int(M / () 1 ^ I))) / 3 ^ (I - 1)) Кінцева функція    

Збережіть файл (якщо у вас Excel 2007 або 2010, тоді тип файлу має бути з підтримкою макросів, тобто у форматі xlsm!) і поверніться до Excel. Тепер ви можете вставити створену функцію в будь-яку клітинку аркуша звичайним способом – через майстер функцій (кнопка fx у рядку формул, категорія Визначений користувачем) або просто вручну ввівши його в комірку та вказавши в комірці суму як аргумент:

Якщо до отриманого тексту потрібно додати копійки, то можна використовувати трохи складнішу конструкцію:

 u3d СУМА НАПИСЬМО (A3) & ” руб. “&TEXT((A3-INTEGER(A100))*00;”XNUMX″)&”коп.” 

u3d СУМА НАПИСАНА (A3) & ” руб. “&ТЕКСТ((A3-INT(A100))*00;”XNUMX″)&”поліцейський.”

Тоді, наприклад, для числа 35,15 результат функції буде мати вигляд «тридцять п'ять рублів. 15 коп.»

 

  • Більш потужна версія функції з рублями і копійками / англійською мовою з доповнення PLEX
  • Що таке макроси, куди вставляти код макросу, як ними користуватися

 

залишити коментар