Во многих документах мы можем видеть строку, в которой требуется указать сумму не в числовом виде, а прописью. Это защищает отчетность от подделки, ведь цифру легко переправить. А вот длинную запись незаметно исправить не так-то просто. Сумма прописью в Excel доступна только в виде надстроек или с использованием формул. Встроенного инструмента не имеется.
Как в Excel сделать сумму прописью
Скачать файл надстройки
Чтобы получить эту возможность, вы можете скачать надстройку «Сумма прописью» в Excel бесплатно на нашем сайте.
Разместите его в любом удобном каталоге и подключите. Для этого следует пройти следующие этапы:
- Запустите Excel и нажмите «Файл».
- Щелкните на параметры.
- Далее переходите в надстройки.
И кликайте по кнопке «Перейти».
- Чтобы подгрузить скачанный файл жмите «Обзор».
- И ищите его в папке, куда сохраняли. Вам предложат скопировать файл в папку надстроек, рекомендуем согласиться. Так Excel всегда будет видеть эту надстройку и вы легко найдете функцию для суммы прописью.
- Нужная библиотека Excel подключена. Галочка означает, что ее можно использовать. Жмите ОК.
- Нужные действия реализованы в виде функции СУММА_ПРОПИСЬЮ. Чтобы применить ее, введите в ячейку A1 число и установите указатель рядом, на B1. Нажмите значок Fx около строки формул.
- И в полном алфавитном перечне найдите функцию СУММА_ПРОПИСЬЮ. Рекомендуем начать печатать название. В таком случае Excel сам перемотает ближе к нужному разделу.
- Жмите ОК и в окне мастера укажите адрес A1. Можно просто мышкой кликнуть по ячейке.
- После нажатия ОК вы увидите сумму прописью.
Эта функция «сумма_прописью» работает в Excel 2007, 2010, 2016
Данная надстройка работает только для рублей. Если вам нужна другая валюта, скачайте еще файл sumprop.xla. Действуя по аналогии подключите надстройку для получения суммы прописью в Excel.
Для проверки введем в ячейке A3 произвольное число. Пусть это будет десятичная дробь. Также вызовем окно вставки функций и найдем новые функции для вывода суммы прописью. Как видите, нам стали доступны:
- Сумма Прописью
- Сумма Прописью Доллары
- Сумма Прописью Евро
- Сумма Прописью Евро
Переведем число в евро. Выбираем соответствующую функцию и кликаем по ячейке с числом. После нажатия ОК получаем результат.
С помощью этих инструментов преобразование числа в текст прописью в Excel выполняется очень просто. Если по каким-то причинам вы не хотите устанавливать их в Excel, можно воспользоваться другим способом.
Формула суммы прописью в Excel — как написать число
- Для вывода числа прописью в Excel можно создать формулу. Приведем пример:
- ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);2;1)+1;ПСТР(ТЕКСТ(A3;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);1;3);»миллиард»&ВПР(ПСТР(ТЕКСТ(A3;n0);3;1)*И(ПСТР(ТЕКСТ(A3;n0);2;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(A3;n0);5;1)+1;ПСТР(ТЕКСТ(A3;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);4;3);»миллион»&ВПР(ПСТР(ТЕКСТ(A3;n0);6;1)*И(ПСТР(ТЕКСТ(A3;n0);5;1)-1);мил;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(A3;n0);8;1)+1;ПСТР(ТЕКСТ(A3;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);7;3);ВПР(ПСТР(ТЕКСТ(A3;n0);9;1)*И(ПСТР(ТЕКСТ(A3;n0);8;1)-1);тыс;2);»»)&ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);10;1)+1)&ИНДЕКС(ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);n1x;n0x);ПСТР(ТЕКСТ(A3;n0);11;1)+1;ПСТР(ТЕКСТ(A3;n0);12;1)+1));»z»;» «)&ЕСЛИ(ОТБР(ТЕКСТ(A3;n0));;»Ноль «)&ЕСЛИ(-ПСТР(ТЕКСТ(A3;n0);14;6);ЕСЛИ(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);11;2)-11;100);9);10);»целых «;»целая «)&ПОДСТАВИТЬ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(A3;n0);14;6)/10^5+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)+1)&ЕСЛИ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000);ВПР(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/1000;10)*(ОСТАТ(ЦЕЛОЕ(ПСТР(ТЕКСТ(A3;n0);14;6)/10^4);10)1);тыс;2);»»)&ИНДЕКС(n_4;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/100;10)+1)&ИНДЕКС(n1x;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)/10;10)+1;ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6);10)+1);»z»;» «)&ИНДЕКС(доля;ДЛСТР(ПСТР(ТЕКСТ(A3;n0);14;6));(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(A3;n0);14;6)-11;100);9);10)>0)+1);)
- Для ее использования вам необходимо указать несколько массивов Excel:
- n_1 ={«»;»одинz»;»дваz»;»триz»;»четыреz»;»пятьz»;»шестьz»;»семьz»;»восемьz»;»девятьz»}
- n_2 ={«десятьz»;»одиннадцатьz»;»двенадцатьz»;»тринадцатьz»;»четырнадцатьz»;»пятнадцатьz»;»шестнадцатьz»;»семнадцатьz»;»восемнадцатьz»;»девятнадцатьz»}
- n_3 ={«»:1:»двадцатьz»:»тридцатьz»:»сорокz»:»пятьдесятz»:»шестьдесятz»:»семьдесятz»:»восемьдесятz»:»девяностоz»}
- n_4 ={«»;»стоz»;»двестиz»;»тристаz»;»четырестаz»;»пятьсотz»;»шестьсотz»;»семьсотz»;»восемьсотz»;»девятьсотz»}
- n_5 ={«»;»однаz»;»двеz»;»триz»;»четыреz»;»пятьz»;»шестьz»;»семьz»;»восемьz»;»девятьz»}
- n0 =»000000000000″&ПСТР(1/2;2;1)&»0#####»
- n0x =ЕСЛИ(n_3=1;n_2;n_3&n_1)
- n1x =ЕСЛИ(n_3=1;n_2;n_3&n_5)
- доля ={«десятая»;»десятых»:»сотая»;»сотых»:»тысячная»;»тысячных»:»десятитысячная»;»десятитысячных»:»стотысячная»;»стотысячных»:»миллионная «;»миллионных»}
- мил ={0;»овz»:1;»z»:2;»аz»:5;»овz»}
- тыс ={0;»тысячz»:1;»тысячаz»:2;»тысячиz»:5;»тысячz»}
Просто скопируйте эту таблицу на лист Excel, а формулу вставляйте туда, где необходима сумма прописью. Вышеприведенная конструкция предназначена для ячейки A3. Не забудьте поменять адрес.
В англоязычном Excel формула суммы прописью будет выглядеть следующим образом:
SUBSTITUTE(PROPER(INDEX(n_4,MID(TEXT(A1,n0),1,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),2,1)+1,MID(TEXT(A1,n0),3,1)+1)&IF(-MID(TEXT(A1,n0),1,3),»миллиард»&VLOOKUP(MID(TEXT(A1,n0),3,1)*AND(MID(TEXT(A1,n0),2,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),4,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),5,1)+1,MID(TEXT(A1,n0),6,1)+1)&IF(-MID(TEXT(A1,n0),4,3),»миллион»&VLOOKUP(MID(TEXT(A1,n0),6,1)*AND(MID(TEXT(A1,n0),5,1)-1),мил,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),7,1)+1)&INDEX(n1x,MID(TEXT(A1,n0),8,1)+1,MID(TEXT(A1,n0),9,1)+1)&IF(-MID(TEXT(A1,n0),7,3),VLOOKUP(MID(TEXT(A1,n0),9,1)*AND(MID(TEXT(A1,n0),8,1)-1),тыс,2),»»)&INDEX(n_4,MID(TEXT(A1,n0),10,1)+1)&INDEX(n0x,MID(TEXT(A1,n0),11,1)+1,MID(TEXT(A1,n0),12,1)+1)),»z»,» «)&IF(TRUNC(TEXT(A1,n0)),»»,»Ноль «)&»рубл»&VLOOKUP(MOD(MAX(MOD(MID(TEXT(A1,n0),11,2)-11,100),9),10),{0,»ь «;1,»я «;4,»ей «},2)&RIGHT(TEXT(A1,n0),2)&» копе»&VLOOKUP(MOD(MAX(MOD(RIGHT(TEXT(A1,n0),2)-11,100),9),10),{0,»йка»;1,»йки»;4,»ек»},2)
Как видим, это не самый удобный способ преобразовать число в текст прописью в Excel.
Преобразование с помощью макросов Excel
Можно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль. В него добавьте следующий код.
Function SUMMPROPIS(n As Double) As String
Dim Chis1, Chis2, Chis3, Chis4, Chis5 As Variant
Chis1 = Array(«», «один «, «два «, «три «, «четыре «, «пять «, «шесть «, «семь «, «восемь «, «девять «)
Chis2 = Array(«», «десять «, «двадцать «, «тридцать «, «сорок «, «пятьдесят «, «шестьдесят «, «семьдесят «, «восемьдесят», «девяносто «)
Chis3 = Array(«», «сто «, «двести «, «триста «, «четыреста «, «пятьсот «, «шестьсот «, «семьсот «, «восемьсот «, «девятьсот «)
Chis4 = Array(«», «одна «, «две «, «три «, «четыре «, «пять «, «шесть «, «семь «, «восемь «, «девять «)
Chis5 = Array(«десять «, «одиннадцать «, «двенадцать «, «тринадцать «, «четырнадцать «, «пятнадцать «, «шестнадцать «, «семнадцать «, «восемнадцать «, «девятнадцать «)
If n 0 Then thous_txt = Chis4(thous) & «тысяч »
Case 1
thous_txt = Chis4(thous) & «тысяча »
Case 2, 3, 4
thous_txt = Chis4(thous) & «тысячи »
Case 5 To 9
thous_txt = Chis4(thous) & «тысяч »
End Select
If desthous = 0 And thous = 0 And hundthous 0 Then hundthous_txt = hundthous_txt & » тысяч »
eee:
hund_txt = Chis3(hund)
Select Case des
Case 1
cifr_txt = Chis5(cifr)
GoTo rrr
Case 2 To 9
des_txt = Chis2(des)
End Select
cifr_txt = Chis1(cifr)
rrr:
SUMMPROPIS = desmil_txt & mil_txt & hundthous_txt & desthous_txt & thous_txt & hund_txt & des_txt & cifr_txt
End Function
Private Function Retclass(M, I)
Retclass = Int(Int(M — (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I — 1))
End Function
Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем». В качестве аргумента укажите адрес с числом.
Перевод в сумму прописью осуществляется только для целых чисел. Дробное число требует дополнительной формулы: =SUMMPROPIS(A7)&» руб. «&ТЕКСТ((A7-ЦЕЛОЕ(A7))*100;»00″)&» коп.»
Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа. Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!
Источник: https://WindowsTips.ru/summa-propisyu-v-excel
Надстройка СУММА_ПРОПИСЬЮ
Если Вам надоело писать числа прописью. Вы можете добавить себе в программу Excel готовую функцию, которая будет преобразовывать числа в текст.
Работает данная функция только для чисел от 0 до 20 млн. но этого вполне достаточно чтобы облегчить работу с числами. Например, в бухгалтерии при заполнении отчетных документов.
Как работает функция СУММА_ПРОПИСЬЮ:
- Для начала установите курсор в ячейку куда вы хотите указывать текстовые значения;
- Выберете в мастере функций или введите вручную =СУММА_ПРОПИСЬЮ();
- В скобках укажите адрес из которого следует брать числовые значения;
- Нажмите «Enter».
Как установить функцию:
- Распакуйте скачанный архив в папку, в которой будет храниться файл надстройки. (место следует выбрать для постоянного хранения).
- Установите надстройку, как указано в инструкции по ссылке: «Инструкция по установке надстройки»
Как скачать надстройку с готовой функцией СУММА_ПРОПИСЬЮ:
Поддержав сайт материально вы получите ссылку на скачивание надстройки с инструкциями по установке и использованию:
Для скачивания файла обязательно нажмите «Перейти на сайт магазина«:
После перехода по ссылке вы попадете на страницу для скачивания надстройки
Вопросы можете оставлять в х или через форму для обращений.
Источник: http://RuExcel.ru/smp/
Прописи для детей — онлайн генератор
Сейчас ни для кого не является секретом тот факт, что время на обучение ребенка правильному каллиграфическому письму в первом классе сведено к минимуму.
Успеть бы показать, как буква пишется и читается.
И от этой спешки неокрепшие пальчики ребенка начинают через некоторое время выводить такие каракули, что о написанном можно только догадываться.
Закрепить навык письма, выработать автоматическое правильное и что самое главное понятное написание письменных букв помогают дополнительные занятия с прописями.
На этой страничке вашему вниманию представлен онлайн-сервис по генерированию прописей, которые вы можете составить самостоятельно с учетом всех проблем и потребностей вашего ребенка.
Генератор прописей преобразует введенный вами текст в рукописные прописи, применяя специально созданный каллиграфический шрифт с пунктирной и сплошной линией.
Генератор прописей
Чтобы составить прописи, выберите на панели нужные вам функции.
Вид страницы: в косую линию, в узкую линию, в широкую линию.
Выбор страницы зависит от степени подготовленности вашего ребенка.
Для написания цифр используйте страницу в клетку.
Вид шрифта: пунктирный, сплошной серый, сплошной черный.
Для обводки букв выберете пунктирный шрифт или сплошной серый.
- Для самостоятельного письма по примеру — сплошной черный.
- Положение страницы: книжное, альбомное.
В отдельной строке напишите задание.
Например: обведи буквы, пропиши по образцу, пропиши самостоятельно по образцу и т.п.
Далее заполните форму текстом на свое усмотрение.
Это могут быть отдельные буквы, слоги, слова. Пропишите те буквы и слоги, при написании которых у вашего ребенка возникают трудности.
- Вы можете вписать предложения или текст (стихотворение, загадку).
Для перехода на новую строку и корректного отображения текста используйте кнопку ENTER.
В книжном формате ширина строки порядка 40-42 знака, учитывая пробелы. В альбомном формате ширина строки порядка 55-58 знаков.
С помощью онлайн генератора прописей вы можете составить, скачать и распечатать задания для детей любой сложности.
Вы можете создать прописи не только на кириллице. Используя латинскую раскладку клавиатуры, вы можете сгенерировать прописи по английскому и немецкому языку.
Для дошкольного возраста используйте пунктирный шрифт и страницу с косой линией.
Пропишите отдельные строчные и заглавные буквы, слоги и слова для обводки.
Для первоклассников можно создать прописи уже со сплошной линией.
Вы можете написать по одному примеру, оставив строку пустой для самостоятельного письма.
Вы так же можете с помощью генератора прописей составить грамматическое упражнение для ребенка.
Напишите слова или текст с пропущенными буквами. Это могут быть словарные слова, слова с проверочными гласными, слова с приставками и т.п.
Не забудьте про цифры ????
Используйте страницу в клетку и пунктирный шрифт. Можно распечатать не только прописи с цифрами, но и прописи с математическими примерами, составив их самостоятельно.
Напомню, что если вам необходимы задания с математическими примерами по математике воспользуйтесь Генератором примеров, который поможет вам создать и распечатать математические примеры для детей разного уровня подготовки.
Надеюсь, что сервис по созданию прописей поможет вам в обучении ваших детей.
Данный генератор будет полезен для составления прописей, как для дошкольников, так и для школьников младших классов.
- Для самых маленьких подойдут уже готовые развивающие прописи.
- Если вдруг у вас возникнут трудности или вопросы — обязательно пишите в х.
- Буду рада обратной связи, отзывам и предложениям.
- Так же буду признательна за поддержку в развитии генератора :))
Источник: http://tobemum.ru/deti/kak-nauchit/generator-propisi/
Как перевести сумму или число прописью в Excel
Часто нужно перевести число в текст в Excel так, чтобы оно отображалось прописью (словами) на русском или других языках. Так как по умолчанию нет готовой функции, создадим свою пользовательскую функцию с помощью макросов.
Пример использования пользовательской функции для преобразования числа суммы в текстовые слова, которую можно скачать в конце статьи:
Для создания пользовательской функции, которая сможет перевести число в текст прописью , нам нужно выполнить 3 простых шага:
- Открыть редактор макросов ALT+F11.
- Создать новый модуль и в нем нужно написать функцию особенным способом: Function вместо Sub. Тогда наша функция «ЧислоПропись» будет отображаться в списке мастера функций (SHIFT+F3), в категории «Определенные пользователем».
- Вставить в модуль следующий код и сохранить:
Function ЧислоПропись(Число As Currency) As String
'до 999 999 999 999
On Error GoTo Число_Error
Dim strМиллиарды As String, strМиллионы As String, strТысячи As String, strЕдиницы As String, strСотые As String
Dim Поз As Integer
- strЧисло = Format(Int(Число), «000000000000»)
- 'Миллиарды'
- strМиллиарды = strМиллиарды & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
Поз = 1
strМиллиарды = Сотни(Mid(strЧисло, Поз, 1))
strМиллиарды = strМиллиарды & ИмяРазряда(strМиллиарды, Mid(strЧисло, Поз + 1, 2), «миллиард «, «миллиарда «, «миллиардов «)
'Миллионы'
Поз = 4
strМиллионы = Сотни(Mid(strЧисло, Поз, 1))
strМиллионы = strМиллионы & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
strМиллионы = strМиллионы & ИмяРазряда(strМиллионы, Mid(strЧисло, Поз + 1, 2), «миллион «, «миллиона «, «миллионов «)
'Тысячи'
Поз = 7
strТысячи = Сотни(Mid(strЧисло, Поз, 1))
strТысячи = strТысячи & Десятки(Mid(strЧисло, Поз + 1, 2), «ж»)
strТысячи = strТысячи & ИмяРазряда(strТысячи, Mid(strЧисло, Поз + 1, 2), «тысяча «, «тысячи «, «тысяч «)
'Единицы'
Поз = 10
strЕдиницы = Сотни(Mid(strЧисло, Поз, 1))
strЕдиницы = strЕдиницы & Десятки(Mid(strЧисло, Поз + 1, 2), «м»)
If strМиллиарды & strМиллионы & strТысячи & strЕдиницы = «» Then strЕдиницы = «ноль »
'strЕдиницы = strЕдиницы & ИмяРазряда(» «, Mid(strЧисло, Поз + 1, 2), «рубль «, «рубля «, «рублей «)
'Сотые'
'strСотые = strКопейки & » » & ИмяРазряда(strКопейки, Right(strКопейки, 2), ‘»копейка», «копейки», «копеек»)
ЧислоПропись = strМиллиарды & strМиллионы & strТысячи & strЕдиницы
ЧислоПропись = UCase(Left(ЧислоПропись, 1)) & Right(ЧислоПропись, Len(ЧислоПропись) — 1)
- Exit Function
- End Function
- Function Сотни(n As String) As String
Число_Error:
MsgBox Err.Description
Сотни = «»
Select Case n
Case 0: Сотни = «»
Case 1: Сотни = «сто »
Case 2: Сотни = «двести »
Case 3: Сотни = «триста »
Case 4: Сотни = «четыреста »
Case 5: Сотни = «пятьсот »
Case 6: Сотни = «шестьсот »
Case 7: Сотни = «семьсот »
Case 8: Сотни = «восемьсот »
Case 9: Сотни = «девятьсот »
End Select
End Function
Function Десятки(n As String, Sex As String) As String
Десятки = «»
Select Case Left(n, 1)
Case «0»: Десятки = «»: n = Right(n, 1)
Case «1»: Десятки = «»
Case «2»: Десятки = «двадцать «: n = Right(n, 1)
Case «3»: Десятки = «тридцать «: n = Right(n, 1)
Case «4»: Десятки = «сорок «: n = Right(n, 1)
Case «5»: Десятки = «пятьдесят «: n = Right(n, 1)
Case «6»: Десятки = «шестьдесят «: n = Right(n, 1)
Case «7»: Десятки = «семьдесят «: n = Right(n, 1)
Case «8»: Десятки = «восемьдесят «: n = Right(n, 1)
Case «9»: Десятки = «девяносто «: n = Right(n, 1)
End Select
Dim Двадцатка As String
Двадцатка = «»
Select Case n
Case «0»: Двадцатка = «»
Case «1»
Select Case Sex
Case «м»: Двадцатка = «один »
Case «ж»: Двадцатка = «одна »
Case «с»: Двадцатка = «одно »
End Select
Case «2»:
Select Case Sex
Case «м»: Двадцатка = «два »
Case «ж»: Двадцатка = «две »
Case «с»: Двадцатка = «два »
End Select
Case «3»: Двадцатка = «три »
Case «4»: Двадцатка = «четыре »
Case «5»: Двадцатка = «пять »
Case «6»: Двадцатка = «шесть »
Case «7»: Двадцатка = «семь »
Case «8»: Двадцатка = «восемь »
Case «9»: Двадцатка = «девять »
Case «10»: Двадцатка = «десять »
Case «11»: Двадцатка = «одиннадцать »
Case «12»: Двадцатка = «двенадцать »
Case «13»: Двадцатка = «тринадцать »
Case «14»: Двадцатка = «четырнадцать »
Case «15»: Двадцатка = «пятнадцать »
Case «16»: Двадцатка = «шестнадцать »
Case «17»: Двадцатка = «семнадцать »
Case «18»: Двадцатка = «восемнадцать »
Case «19»: Двадцатка = «девятнадцать »
End Select
Десятки = Десятки & Двадцатка
- End Function
- Function ИмяРазряда(Строка As String, n As String, Имя1 As String, Имя24 As String, ИмяПроч As String) As String
- If Строка «» Then
ИмяРазряда = «»
Select Case Left(n, 1)
Case «0», «2», «3», «4», «5», «6», «7», «8», «9»: n = Right(n, 1)
End Select
Select Case n
Case «1»: ИмяРазряда = Имя1
Case «2», «3», «4»: ИмяРазряда = Имя24
Case Else: ИмяРазряда = ИмяПроч
End Select
End If
End Function
Можно написать алгоритм макро программы по-другому и еще сделать так, чтобы она дописывала валюту суммы прописью. Для этого создайте Module2 и введите в него следующий код:
Function ЧислоПрописьюВалюта(Число As Double, Optional Валюта As Integer = 1, Optional Копейки As Integer = 1)
Attribute ЧислоПрописьюВалюта.VB_Description = «Функция преобразовывает число суммы текстовыми словами»
Attribute ЧислоПрописьюВалюта.VB_ProcData.VB_Invoke_Func = »
1″
Dim Edinicy(0 To 19) As String: Dim EdinicyPoslednie(0 To 19) As String
Dim Desyatki(0 To 9) As String: Dim Sotni(0 To 9) As String: Dim mlrd(0 To 9) As String
Dim mln(0 To 9) As String: Dim tys(0 To 9) As String
Dim SumInt, x, shag, vl As Integer: Dim txt, Sclon_Tys As String
'———————————————
Application.Volatile
'———————————————
Edinicy(0) = «»: EdinicyPoslednie(0) = IIf(Валюта = 0, «евро», IIf(Валюта = 1, «рублей», «долларов»))
Edinicy(1) = «один «: EdinicyPoslednie(1) = IIf(Валюта = 0, «один евро», IIf(Валюта = 1, «один рубль», «один доллар»))
Edinicy(2) = «два «: EdinicyPoslednie(2) = IIf(Валюта = 0, «два евро», IIf(Валюта = 1, «два рубля», «два доллара»))
Edinicy(3) = «три «: EdinicyPoslednie(3) = IIf(Валюта = 0, «три евро», IIf(Валюта = 1, «три рубля», «три доллара»))
Edinicy(4) = «четыре «: EdinicyPoslednie(4) = IIf(Валюта = 0, «четыре евро», IIf(Валюта = 1, «четыре рубля», «четыре доллара»))
Edinicy(5) = «пять «: EdinicyPoslednie(5) = IIf(Валюта = 0, «пять евро», IIf(Валюта = 1, «пять рублей», «пять долларов»))
Edinicy(6) = «шесть «: EdinicyPoslednie(6) = IIf(Валюта = 0, «шесть евро», IIf(Валюта = 1, «шесть рублей», «шесть долларов»))
Edinicy(7) = «семь «: EdinicyPoslednie(7) = IIf(Валюта = 0, «семь евро», IIf(Валюта = 1, «семь рублей», «семь долларов»))
Edinicy(8) = «восемь «: EdinicyPoslednie(8) = IIf(Валюта = 0, «восемь евро», IIf(Валюта = 1, «восемь рублей», «восемь долларов»))
Edinicy(9) = «девять «: EdinicyPoslednie(9) = IIf(Валюта = 0, «девять евро», IIf(Валюта = 1, «девять рублей», «девять долларов»))
Edinicy(11) = «одиннадцать «: EdinicyPoslednie(11) = IIf(Валюта = 0, «одиннадцать евро», IIf(Валюта = 1, «одиннадцать рублей», «одиннадцать долларов»))
Edinicy(12) = «надцать «: EdinicyPoslednie(12) = IIf(Валюта = 0, «надцать евро», IIf(Валюта = 1, «надцать рублей», «надцать долларов»))
Edinicy(13) = «тринадцать «: EdinicyPoslednie(13) = IIf(Валюта = 0, «тринадцать евро», IIf(Валюта = 1, «тринадцать рублей», «тринадцать долларов»))
Edinicy(14) = «четырнадцать «: EdinicyPoslednie(14) = IIf(Валюта = 0, «четырнадцать евро», IIf(Валюта = 1, «четырнадцать рублей», «четырнадцать долларов»))
Edinicy(15) = «пятнадцать «: EdinicyPoslednie(15) = IIf(Валюта = 0, «пятнадцать евро», IIf(Валюта = 1, «пятнадцать рублей», «пятнадцать долларов»))
Edinicy(16) = «шестнадцать «: EdinicyPoslednie(16) = IIf(Валюта = 0, «шестнадцать евро», IIf(Валюта = 1, «шестнадцать рублей», «шестнадцать долларов»))
Edinicy(17) = «семнадцать «: EdinicyPoslednie(17) = IIf(Валюта = 0, «семнадцать евро», IIf(Валюта = 1, «семнадцать рублей», «семнадцать долларов»))
Edinicy(18) = «восемнадцать «: EdinicyPoslednie(18) = IIf(Валюта = 0, «восемнадцать евро», IIf(Валюта = 1, «восемнадцать рублей», «восемнадцать долларов»))
Edinicy(19) = «девятнадцать «: EdinicyPoslednie(19) = IIf(Валюта = 0, «девятнадцать евро», IIf(Валюта = 1, «девятнадцать рублей», «девятнадцать долларов»))
''———————————————
Desyatki(0) = «»: Sotni(0) = «»: tys(0) = «тисячь «: mln(0) = «миллионов «: mlrd(0) = «миллиардов »
Desyatki(1) = «десять «: Sotni(1) = «сто «: tys(1) = «тысяча «: mln(1) = «миллион «: mlrd(1) = «миллиарда »
Desyatki(2) = «двадцать «: Sotni(2) = «двести «: tys(2) = «тысячи «: mln(2) = «миллиона «: mlrd(2) = «миллиарда »
Desyatki(3) = «тридцать «: Sotni(3) = «триста «: tys(3) = «тысячи «: mln(3) = «миллиона «: mlrd(3) = «миллиарда »
Desyatki(4) = «сорок «: Sotni(4) = «четыреста «: tys(4) = «тысячи «: mln(4) = «миллиона «: mlrd(4) = «миллиарда »
Desyatki(5) = «пятьдесят «: Sotni(5) = «пятьсот «: tys(5) = «тысяч «: mln(5) = «миллионов «: mlrd(5) = «миллиардов »
Desyatki(6) = «шестьдесят «: Sotni(6) = «шестьсот «: tys(6) = «тысяч «: mln(6) = «миллионов «: mlrd(6) = «миллиардов »
Desyatki(7) = «семьдесят «: Sotni(7) = «семьсот «: tys(7) = «тысяч «: mln(7) = «миллионов «: mlrd(7) = «миллиардов »
Desyatki(8) = «восемьдесят «: Sotni(8) = «восемьсот «: tys(8) = «тысяч «: mln(8) = «миллионов «: mlrd(8) = «миллиардов »
Desyatki(9) = «девяносто «: Sotni(9) = «девятьсот «: tys(9) = «тысяч «: mln(9) = «миллионов «: mlrd(9) = «миллиардов »
'———————————————
- On Error Resume Next
- For x = Len(SumInt) To 1 Step -1
- Select Case x
SumInt = Int(Число)
shag = shag + 1
Case 12 ' — сотни миллиардов
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 11 ' — десятки миллиардов
vl = Mid(SumInt, shag, 1)
If vl = «1» And Mid(SumInt, shag + 1, 1) 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ' — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 10 ' — единицы миллиардов
vl = Mid(SumInt, shag, 1)
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & «миллиарда » Else txt = txt & Edinicy(vl) & mlrd(vl) 'числа в диапозоне от 11 до 19 склоняются на «мільярдов» независимо от последнего числа триады
Else
txt = txt & Edinicy(vl) & mlrd(vl)
- End If
- '-КОНЕЦ БЛОКА_______________________
- Case 9 ' — сотни миллионов
- Case 8 ' — десятки миллионов
- If vl = «1» And Mid(SumInt, shag + 1, 1) 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ' — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
vl = Mid(SumInt, shag, 1)
Case 7 ' — единицы миллионов
vl = Mid(SumInt, shag, 1)
If shag > 2 Then
If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = «0») Then GoTo 10
End If
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & «миллиона » Else: txt = txt & Edinicy(vl) & mln(vl) 'числа в диапозоне от 11 до 19 склоняются на «миллиардов» независимо от последнего числа триады
Else
txt = txt & Edinicy(vl) & mln(vl)
End If
'-КОНЕЦ БЛОКА_______________________
- Case 6 ' — сотни тысяч
- Case 5 ' — десятки тысяч
- If vl = 1 And Mid(SumInt, shag + 1, 1) 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ' — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
vl = Mid(SumInt, shag, 1)
Case 4 ' — единицы тысяч
vl = Mid(SumInt, shag, 1)
If shag > 2 Then
If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = «0») Then GoTo 10
End If
Sclon_Tys = Edinicy(vl) & tys(vl) ' — вводим переменную Sclon_Tys из-за иного склонения тысяч в русском языке
If vl = 1 Then Sclon_Tys = «одна » & tys(vl) ' — для тысяч склонение «один» и «два» неприменимо ( поэтому вводим переменную Sclon_Tys )
If vl = 2 Then Sclon_Tys = «две » & tys(vl) ' — для тысяч склонение «один» и «два» неприменимо ( поэтому вводим переменную Sclon_Tys )
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then Sclon_Tys = Edinicy(Mid(SumInt, shag — 1, 2)) & «тисяч »
End If
txt = txt & Sclon_Tys
'-КОНЕЦ БЛОКА_______________________
Case 3 ' — сотни
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 2 ' — десятки
vl = Mid(SumInt, shag, 1)
If vl = «1» And Mid(SumInt, shag + 1, 1) 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ' — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 1 ' — единицы
If Mid(SumInt, shag — 1, 1) 1 Or Mid(SumInt, shag — 1, 2) = «10» Then vl = Mid(SumInt, shag, 1) Else vl = Mid(SumInt, shag — 1, 2)
txt = txt & EdinicyPoslednie(vl)
'-КОНЕЦ БЛОКА_______________________
End Select
10: Next x
a = Число
b = Int(a)
c = (Round(a — b, 2)) * 100
If c = 1 Then c = «0» + CStr(c)
If c = 0 Then c = CStr(c) + «0»
d = «»
If Валюта = 1 Then d = «коп.» Else d = «цен.»
If Валюта > 2 Or Валюта 2 Or Валюта 2 Or Копейи 2 Or Копейки
Источник: https://exceltable.com/vba-macros/chislo-propisyu
Сумма прописью
33070 06.10.2012 Скачать пример
Ниже вы найдете готовую пользовательскую функцию на VBA, которая переводит любое число от 0 до 9 999 999 в его текстовое представление, т.е. в сумму прописью. Перед использованием, эту функцию необходимо добавить в вашу книгу. Для этого:
- нажмите сочетание клавиш ALT+F11, чтобы открыть редактор Visual Basic
- добавьте новый пустой модуль через меню Insert — Module
- скопируйте и вставьте туда текст этой функции:
Function СУММАПРОПИСЬЮ(n As Double) As String
Dim Nums1, Nums2, Nums3, Nums4 As Variant
Nums1 = Array(«», «один «, «два «, «три «, «четыре «, «пять «, «шесть «, «семь «, «восемь «, «девять «)
Nums2 = Array(«», «десять «, «двадцать «, «тридцать «, «сорок «, «пятьдесят «, «шестьдесят «, «семьдесят «, _
«восемьдесят «, «девяносто «)
Nums3 = Array(«», «сто «, «двести «, «триста «, «четыреста «, «пятьсот «, «шестьсот «, «семьсот «, _
«восемьсот «, «девятьсот «)
Nums4 = Array(«», «одна «, «две «, «три «, «четыре «, «пять «, «шесть «, «семь «, «восемь «, «девять «)
Nums5 = Array(«десять «, «одиннадцать «, «двенадцать «, «тринадцать «, «четырнадцать «, _
«пятнадцать «, «шестнадцать «, «семнадцать «, «восемнадцать «, «девятнадцать «)
If n 0 Then tys_txt = Nums4(tys) & «тысяч »
Case 1
tys_txt = Nums4(tys) & «тысяча »
Case 2, 3, 4
tys_txt = Nums4(tys) & «тысячи »
Case 5 To 9
tys_txt = Nums4(tys) & «тысяч »
End Select
If dectys = 0 And tys = 0 And sottys 0 Then sottys_txt = sottys_txt & » тысяч »
eee:
sot_txt = Nums3(sot)
'проверяем десятки
Select Case dec
Case 1
ed_txt = Nums5(ed)
GoTo rrr
Case 2 To 9
dec_txt = Nums2(dec)
End Select
ed_txt = Nums1(ed)
rrr:
'формируем итоговую строку
СУММАПРОПИСЬЮ = decmil_txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt
End Function
'вспомогательная функция для выделения из числа разрядов
Private Function Class(M, I)
Class = Int(Int(M — (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I — 1))
End Function
Сохраните файл (если у вас Excel 2007 или 2010, то тип файла должен быть с поддержкой макросов, т.е. в формате xlsm!) и вернитесь в Excel.
Теперь вы можете вставить созданную функцию в любую ячейку листа этой книги обычным способом — через мастер функций (кнопка fx в строке формул, категория Определенные пользователем) или просто набрав ее в ячейке вручную и указав в качестве аргумента ячейку с суммой:
Если вам необходимо добавить к полученному тексту копейки, то можно воспользоваться чуть более сложной конструкцией:
=СУММАПРОПИСЬЮ(A3)&» руб. «&ТЕКСТ((A3-ЦЕЛОЕ(A3))*100;»00″)&» коп.»
=СУММАПРОПИСЬЮ(A3)&» руб. «&TEXT((A3-INT(A3))*100;»00″)&» коп.»
Тогда, например, для числа 35,15 результат функции будет выглядеть как «тридцать пять руб. 15 коп.»
Ссылки по теме
Источник: https://www.planetaexcel.ru/techniques/3/46/
цифры прописью в ворде — Bing
результаты: 165 000Дата Язык Регион
- moonexcel.com.ua/сумма-число-цифры-прописью-word_ru
Кстати, сумма прописью будет тем языком, которым вы писали текст. Чтобы изменить язык — просто переключитесь на другую раскладку клавиатуры. Статьи по теме: Сумма, число, цифры прописью в Excel
- wordexpert.ru/page/chislo-ili-summa-propisyu
Знаете ли вы, как можно в текстовом редакторе Word цифры, числа или суммы представить прописью? Например так: 1.290 = Одна тысяча двести девяносто?
-
Данный сайт создан для того, чтобы ускорить процесс перевода числа в пропись. Для того, что бы выполнить перевод, введите требуемое число в виде цифр и в …
- word-office.ru/kak-sdelat-cifry-propis-yu-v-word.html
22.09.2018 · В данном видео вы узнаете, как можно писать в ворде над чертой, не разрывая этой линии. koskomp.ru/microsoft-word/kak-pi… Преобразование числа в текст прописью …
- www.bolshoyvopros.ru/questions/3100337-chislo-ili-summa-propisju-v-vorde-word-kak…
К счастью, в Ворде можно сделать так, чтобы число или сумма записывалась прописью автоматически. Для этого можно использовать поле, в …
- red-star.pro/office/summa-ili-chislo-propisyu-v-ms-word-2010.html
Добрый вечер пользователи сайта red-star.pro. В данном уроке мы научимся писать сумму или число прописью в MS Word 2010. Например, число 23 пропишем в виде «двадцать три».
-
Сумма Прописью Онлайн — сервис быстрого перевода Введите сумму: Налог: Без НДС 7% НДС 10% НДС 12% НДС 17% НДС 15% НДС 18% НДС 20% НДС 13% НДФЛ
- www.interface.ru/home.asp?artId=3712
Знаете ли вы, как можно в текстовом редакторе Word цифры, числа или суммы представить прописью? Например так: 1.290 = Одна тысяча двести…
- https://otvet.mail.ru/question/178692441
Оказывается, что в текстовом редакторе Word можно автоматически отображать сумму прописью. Для этого откройте Word, нажмите Ctrl + F9, после чего появятся фигурные скобки, в которые прописываем наше число, например, 2222, а …
- officeprogs.ru/word/kak-napechatat-rimskie-cifry-v-vorde.html
В статье мы рассмотрим, как напечатать римские цифры в Ворде используя заглавные латинские буквы, а также используя формулу, записанную в специальном поле
-
- РекламаУзнать как пишется число прописью, числа словами, цифры буквами или сумма прописью
- РекламаВыполняем проекты в Ворд на заказ. Коллектив специалистов. · круглосуточно
Источник: http://www.windowssearch-exp.com/search?q=%D1%86%D0%B8%D1%84%D1%80%D1%8B+%D0%BF%D1%80%D0%BE%D0%BF%D0%B8%D1%81%D1%8C%D1%8E+%D0%B2+%D0%B2%D0%BE%D1%80%D0%B4%D0%B5&qpvt=%D1%86%D0%B8%D1%84%D1%80%D1%8B+%D0%BF%D1%80%D0%BE%D0%BF%D0%B8%D1%81%D1%8C%D1%8E+%D0%B2+%D0%B2%D0%BE%D1%80%D0%B4%D0%B5