Математические операции.
Еще один способ — выполнить простую арифметическую операцию, которая фактически не меняет исходное значение. В этом случае программа, если есть такая возможность, сама сделает нужную конвертацию.
Что это может быть? Например, сложение с нулём, умножение или деление на 1.
=A2+0
=A2*1
=A2/1
Важно, чтобы эти действия не изменили величины чисел. Выше вы видите пример таких операций: двойное умножение на минус 1, умножение на 1, сложение с 0. Наиболее элегантно и просто для ввода выглядит «двойное отрицание»: ставим два минуса перед ссылкой, то есть дважды умножаем на минус 1
Результат расчета не изменится, а записать такую формулу очень просто
Наиболее элегантно и просто для ввода выглядит «двойное отрицание»: ставим два минуса перед ссылкой, то есть дважды умножаем на минус 1. Результат расчета не изменится, а записать такую формулу очень просто.
Но если исходные значения отформатированы как текст, Excel также может автоматически применить соответствующий формат и к полученным результатам. Вы сможете заметить это по выровненному влево их содержимому. Чтобы это исправить, обязательно установите общий формат для ячеек, которые используются в формуле. Примечание. Если вы хотите, чтобы результаты были значениями, а не формулами, используйте после применения этого метода функцию специальной вставки, чтобы заменить их результатами.
Применение функции
Функция сумма прописью на русском языке
Функция для формулы
формулу
Public Function sum_in_words(s) Dim units As String ' рубли Dim subunits As Long ' копейки Dim unit_string As String ' рубли прописью ' если пусто, тогда ничего делать не будем If s = "" Then sum_in_words = "" Exit Function End If ' выделим рубли из числа units = Int(s) ' выделим копейки из числа subunits = Round(Abs(s) - Abs(units), 2) * 100 ' переведем число рублей в слова unit_string = IntToWords(units) & " руб." ' припишем копейки. ' копейки обычно пишутся числом, соответственно, ' нам нужно добавить 0 перед копейками, если их меньше 10 If subunits < 10 Then sum_in_words = unit_string & " 0" & subunits & " коп." Else sum_in_words = unit_string & " " & subunits & " коп." End If End Function
=quantity_in_words(A1)
Sumprop
Установка данного модуля происходит точно так же, как в описанном выше способе, только на этот раз выбираем другой файл.
Ставим галочку возле новой надстройки и нажимаем на кнопку «OK».
После этого в вашем редакторе появится еще несколько новых функций. Рассмотрим их всех.
Работа с формулами
Для этого нужно сделать следующие действия.
- Первым делом создадим наглядную таблицу. В одном столбце у нас будут цифры, во втором – результат. Для демонстрации возможностей будем использовать дробные числа.
- Переходим первую пустую ячейку и нажимаем на кнопку «Fx».
В появившемся окне выберите категорию «Определенные пользователем». Новые функции будут именно там.
Будем вставлять поочередно. Именно в той хронологии, как они идут в списке.
СуммаПрописью
- Выберите соответствующий пункт и нажмите на кнопку «OK».
Справка нам подсказывает, что эта функция для рублей.
- В появившемся окне нужно вставить аргумент. Для этого достаточно кликнуть на ячейку с числом.
- Благодаря этому адрес подставится автоматически. Для продолжения нажмите на кнопку «OK».
- В результате этого вы увидите следующее.
СуммаПрописьюГривны
- Выделяем следующую строчку и кликаем на иконку вставки функции.
- На этот раз выбираем вторую функцию. Для вставки нажимаем на кнопку «OK».
- Затем кликаем на следующее число.
- После автоматической подстановки нажмите на кнопку «OK».
- Результат будет следующим.
СуммаПрописьюДоллары
- Переходим на третью строчку и кликаем на иконку «Fx».
- Выбираем «долларовую» функцию и нажимаем на «OK».
- Указываем соответствующий аргумент.
- Кликаем на «OK».
- Благодаря этому целое число отображается в долларах, а дробное – в центах.
СуммаПрописьюЕвро
- Переходим на четвертую строчку и вызываем окно вставки уравнения.
- Указываем функцию для «Евро».
- Кликаем на соответствующий аргумент.
- Нажимаем на кнопку «OK».
- Результат будет следующим.
Обратите внимание на то, что количество центов (копеек) выводится всегда. Даже если их 0
ЧислоПрописью
Преимущество данного модуля в том, что вы можете осуществить преобразование без дополнительных денежных приставок.
- Перейдите на последнюю строчку и нажмите на иконку «Fx».
- Выберите последнюю функцию.
- В качестве аргумента укажите последнее оставшееся число.
- Для вставки нажмите на кнопку «OK».
В результате проделанных действий, мы увидим следующую таблицу.
Обратите внимание на то, что во всех ячейках сумма прописью указывается с большой буквы и только число – с маленькой
Создание сумм прописью с помощью формул
Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.
Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.
Способ 2: Макрос (VBA)
СУММА ПРОПИСЬЮ в Excel 2007, 2010 Макрос для бухгалтеров на русском
Бухгалтеру при работе в Эксел при печати платежек, приходников, счетов-фактур, необходимо заполнять поля суммы прописью. Корпорация Майкрософт об этом не подумала, а Андрей Коцюбинский подумал. Он писал книги по компьютерной тематике. И среди них значительной популярностью пользовалась книга «Excel для бухгалтера в примерах». С этой книгой распространялся макрос для Excel, автоматизирующий печать суммы прописью в электронных таблицах. sumprop и sumprop.xla
Вот с сайта его веб-студии е-КАО мы и взяли этот доработанный макрос.
В большинстве случаев в бухучете наиболее удобно использовать надстройку, с которой распространяется макрос. Но иногда возникают проблемы с подключением надстройки.
Поэтому в приложенном для скачивания zip-файле находится вместе два файла:
- sumprop.xla — файл надстройки
- sumprop.xls — файл макроса
Макрос: сумма прописью в Excel 2007, 2010
Можно использовать его как обычный макрос, размещенный в обычной рабочей книге Excel (sumprop.xls). Я тоже так делаю, потому что для подстраховки безопасности не использую чужих, непроверенных макросов. После того, как вы скачаете файл с макросом Сумма Прописью, необходимо подключить данный макрос. Но для этого сначала необходимо разрешить выполнение макросов в MS Excel.
При этом необходимо знать, что включение выполнения макросов может создать угрозу безопасности, если вы откроете таблицу Excel, созданную злоумышленником.
Для включения макросов при работе с версией Excel 2002, входящей в состав Microsoft Office XP. Или с версией Microsoft Office Excel 2003. Нужно выбрать команду меню Сервис — Параметры. Будет открыт диалог настройки, имеющий несколько вкладок. Необходимо открыть вкладку Безопасность, на которой следует нажать кнопку Безопасность макросов. На экране появится диалог настройки безопасности Эксел. С помощью переключателя, расположенного в диалоге, установите низкий уровень безопасности. Чтобы выполнялись все макросы. Далее необходимо закрыть оба диалога, для чего следует нажать кнопки OK в них.
В Excel 2000 для вызова аналогичного диалога необходимо выбрать команду меню Сервис — Макрос — Безопасность.
Если же используется версия Эксел 97, нужно выбрать команду меню Сервис — Параметры. В диалоге настройки следует выбрать вкладку Общие и снять флажок Защита от макровирусов. Следует заметить, что если вы не снимите защиту от макровирусов в Excel 97 или установите средний уровень безопасности в других версиях программы. При запуске Excel будет задан вопрос, хотите ли вы выполнять макросы, на который следует ответить утвердительно.
Второй вариант: использование формулы
Думаю, вы знаете, что любой Excel от 2003 до 2016 позволяет прописывать различные формулы для облегчения работы. Воспользуемся этой возможностью и на сей раз. Формула выглядит так: =СУММАПРОПИСЬЮ(В2), где В2 — ячейка с итогом.
Также ее можно дополнить, чтобы результат был более точным: =СУММАПРОПИСЬЮ(Число; ; ; ; ; ; ).
Выглядит как «абракадабра»? Разберем подробнее каждое значение:
- Число — номер ячейки, где должна быть сумма.
- Падеж прописывается цифрой от 1 до 6 в соответствии со стандартным перечнем. Например, 2 — это родительный, а 5 — творительный.
- Тип данных тоже пишется цифрой от 0 до 8. По умолчанию установлены такие соответствия: 0 — ничего, 1 — рубли, 2 — доллары США, 3 — евро, 4 — календарные дни, 5 — рабочие дни, 6 — просто дни, 7 — штуки, 8 — целое вместе с дробной частью.
- Параметр «Дробь_прописью» содержит только 2 значения: 0 означает не выводить дробь прописью, а 1 — наоборот.
- То же касается пункта «Дублировать_число». Если вы поставите 0, то в ячейке будет показан только прописной текст, если 1 — число и пропись.
- Скобки. Чтобы убрать их из суммы, поставьте 0. Вам они нужны? Тогда 1.
- Заглавная. Если вы хотите, чтобы вся сумма отображалась строчными буквами, напишите 0. Первая буква должна быть заглавной? Запишите 1.
Нет ничего сложного, правда? Возвращайтесь ко мне ещё, чтобы узнать много других способов упрощения работы не только с экселем 2013 и остальных версий, но и с другими программами.
А если же вы не хотите ждать новых моих публикаций по данной теме, то рекомендую изучить вот этот видеокурс, гляньне:
Всех благ.
Java
1 |
classMain { privatestaticfinalStringEMPTY=»»; privatestaticfinalStringX= { EMPTY,»One «,»Two «,»Three «,»Four «,»Five «,»Six «, «Seven «,»Eight «,»Nine «,»Ten «,»Eleven «,»Twelve «, «Thirteen «,»Fourteen «,»Fifteen «,»Sixteen «, «Seventeen «,»Eighteen «,»Nineteen « }; privatestaticfinalStringY= { EMPTY,EMPTY,»Twenty «,»Thirty «,»Forty «,»Fifty «, «Sixty «,»Seventy «,»Eighty «,»Ninety « }; // Функция для преобразования однозначного или двузначного числа в длинные слова privatestaticStringconvertToDigit(longn,Stringsuffix) { // если `n` равно нулю if(n==){ returnEMPTY; } // разделить `n`, если оно больше 19 if(n>19){ returnY(int)(n10)+X(int)(n%10)+suffix; } else{ returnX(int)n+suffix; } } // Функция для преобразования заданного числа (максимум 9 цифр) в слова Longo publicstaticStringconvert(longn) { // для хранения словесного представления данного числа StringBuilder res=newStringBuilder(); // добавляем цифры на разряде десять миллионов и сто миллионов res.append(convertToDigit((n1000000000)%100,»Billion, «)); // добавляем цифры на разряде десять миллионов и сто миллионов res.append(convertToDigit((n10000000)%100,»Crore, «)); // добавляем цифры на разряде сто тысяч и один миллион res.append(convertToDigit(((n100000)%100),»Lakh, «)); // добавляем цифры на разряде тысяч и десятков тысяч res.append(convertToDigit(((n1000)%100),»Thousand, «)); // добавляем цифру на сотый разряд res.append(convertToDigit(((n100)%10),»Hundred «)); if((n>100)&&(n%100!=)){ res.append(«and «); } // добавляем цифры в разряде единиц и десятков res.append(convertToDigit((n%100),»»)); returnres.toString().trim() .replace(«, and»,» and») .replaceAll(«^(.*),$»,»$1″);// убираем запятую в конце } // Java-программа для преобразования чисел в слова publicstaticvoidmain(Stringargs) { System.out.println(convert(99L)); System.out.println(convert(1000L)); System.out.println(convert(14632L)); System.out.println(convert(997751076L)); System.out.println(convert(2147483647L)); } } |
Скачать Выполнить код
Использование программы печати суммы прописью в Excel (Ексел)
Работа с ней ведется через использование функций Excel. Введите в первую ячейку третьей строки формулу =СуммаПрописью(836) и вы увидите результат вычислений:
Введите после этого в первую ячейку второй строки формулу = СуммаПрописью (A1). Так как пока в ячейку A1 ничего не введено, то результатом будет:
После того, как в первую ячейку будет введено число, например, 3743917034,51, результат изменится на:
При вводе другого числа результат соответственно изменится. Кроме печати суммы прописью доступна стала и еще одна дополнительная функция. Введите в первую ячейку число 582,43, а в любую свободную ячейку формулу =ЧислоПрописью(A1) . Результатом будет пятьсот восемьдесят два , то есть первая буква уже не прописная, копейки отброшены и нет названия рублей. Также имеется возможность вывода суммы для названий женского рода – пятьсот восемьдесят две . Для этого следует использовать формулу =ЧислоПрописью(A1;ЛОЖЬ) . Если второй параметр опущен, выводится сумма для названий мужского рода.
Как создается сумма прописью в Excel?
Добрый день уважаемый читатель!
Статья посвящена такому интересному вопросу: «Как создается сумма прописью в Excel?». Эта возможность позволяет нам всю массу информации и расчетов, которые сведены в один результат, оформить как финансовой документ, которые нельзя трактовать двузначно. Недаром же любые банковские, юридические и финансовые документы оформляются и цифрами и буквами. Окромя всего, такие суммы не позволяют ошибаться, где же должна стоять запятая и просто отлично выглядят в сравнении с рядом цифр. Подведя итог, скажу, что любой пользователь Excel, который работает с цифрами и временем, а также печатает документы с их использованием, очень нуждается в инструменте создающим сумму прописью.
Решить эту проблему можно несколькими способами:
Функция «СуммаПрописью»
Эта пользовательская функция написана на VBA Excel. Вставить ее в ячейку можно с помощью мастера функций или вручную, как и любую другую встроенную функцию рабочего листа.
Чтобы функцией «СуммаПрописью» можно было воспользоваться, ее программный код должен быть добавлен в рабочую книгу Excel. При передаче книги со встроенным кодом на другой компьютер, функция сохранит работоспособность.
Чтобы функция была доступна из всех рабочих книг на отдельном компьютере, ее код следует добавить в персональную (личную) книгу макросов (PERSONAL.XLSB).
Если у вашей программы Excel нет личной книги макросов, ее можно создать самостоятельно. Ниже рассмотрено добавление кода функции именно в персональную книгу макросов, в рабочие книги он добавляется точно также.
- Скачайте архив и извлеките из него файл «Module.bas» с кодом функции.
- Откройте любую книгу Excel, можно новую.
- Сочетанием левой клавиши Alt+F11 откройте редактор Visual Basic for Applications.
- Дважды кликните на строке «VBA Project (PERSONAL.XLSB)» или один раз на крестике слева для открытия вложенного списка. Если эта позиция уже развернута переходите к пункту 5.
- Дважды кликните на строке «Microsoft Excel Objects» или один раз на крестике слева для открытия списка объектов. Если эта позиция уже развернута переходите к пункту 6.
- Кликнув правой кнопкой на строке «ЭтаКнига», откройте контекстное меню и выберите в нем пункт «Import File…».
- В открывшемся диалоге выбора файлов найдите извлеченный ранее из архива «Module.bas» и выберите его двойным кликом. Модуль с функцией будет автоматически загружен.
Теперь можно в ячейки на листах любых рабочих книг вставлять формулу: «=PERSONAL.XLSB!СуммаПрописью(АдресЯчейки)» или, что намного удобнее, выбирать функцию с помощью мастера. Откройте мастер функций, выберите категорию «Определенные пользователем» и в списке доступных функций появится строка «PERSONAL.XLSB!СуммаПрописью», которую можно выбрать, а на втором шаге вставить адрес ячейки с числовым значением.
Формула будет доступна во всех книгах Excel, но только на компьютере, на котором находится персональная книга макросов PERSONAL.XLSB с загруженным модулем.
Если книгу планируется передавать на другие машины, тогда в шаге 6 надо правой кнопкой кликнуть на строке «ЭтаКнига», относящейся не к «VBA Project (PERSONAL.XLSB)», а относящейся к «VBA Project (ВашаКнига)» с именем вашей книги. Тогда модуль с функцией загрузится непосредственно в вашу рабочую книгу Excel и будет доступен для этой книги на любом компьютере. В этом случае формула в ячейке будет иметь вид: «=СуммаПрописью(АдресЯчейки)».
Создание функции SpellNumber для преобразования чисел в слова
Используйте сочетание клавиш Alt + F11 , чтобы открыть редактор Visual Basic (VBE).
Примечание: Вы также можете открывать редактор Visual Basic, добавив вкладку «Разработчик» на ленту.
На вкладке Insert (Вставка) нажмите кнопку Module (Модуль).
Скопируйте приведенный ниже код.
Примечание: Известные как Пользовательской функции (UDF)этот код Автоматизация задач для преобразования чисел в разных частях листа.
Вставьте строки кода в поле Module1 (Code) (Модуль 1 — код).
Нажмите клавиши Alt + Q , чтобы вернуться в Microsoft Excel. Функция SpellNumber теперь готов к использованию.
Примечание: Эта функция работает только для текущей книги. Для использования этой функции в другой книге, необходимо повторить шаги, скопируйте и вставьте код в этой книге.
Создание сумм прописью с помощью формул
Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.
Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.
Числа прописью с копейками заглавными или строчными буквами в Excel
Вот код VBA для пользовательской функции. Отображение суммы прописью с копейками и выбором первой заглавной или строчной буквы
- Без копеек (1), с копейками (0)
- Копейки прописью (1), числом (0)
- Начинать прописью (0), заглавной (1)
Вот как используется функция
- Данная функция будет работать с числами от 0 до 99 999 999
- Перед копирование кода переключите раскладку клавиатуры на русский язык (для корректного копирования русского текста)
- Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала
- После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
- Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)
Шаг 3: вставляем функцию
После того как нужная надстройка была включена, можно сразу же приступать к выполнению функции СУММА_ПРОПИСЬЮ. Сейчас рассмотрим, как это выполняется на примере.
- Для начала введите какое-нибудь число в любую ячейку листа. Это необходимо для демонстрации возможностей функции.
- Установите курсор в ту ячейку, в которой хотите, чтобы отображался результат функции.
- Нажмите по кнопке «Вставить функцию», которая расположена справа от строки функций.
- Появится окно «Мастера». В нем вам необходимо из списка выбрать нужную функцию. Соответственно, выделите «СУММА_ПРОПИСЬЮ» и нажмите кнопку «ОК».
- Откроется новое окно, в которое необходимо ввести аргументы.
Мы рассмотрели, как вставить функцию «СУММА_ПРОПИСЬЮ». Как можно отметить, делается это так же, как и со всеми остальными функциями, нужно лишь отыскать в списке нужную.
Цифры прописью в Excel
Для замены цифр прописью в Excel потребуется воспользоваться дополнительной надстройкой, но не стоит пугаться, если вы ничего в этом не понимаете. Читайте и делайте согласно инструкции, и все у вас получится.
Интересно. Как сделать подобное в Word читайте здесь.
Число прописью в Экселе. Установка
Как правило, необходимость конвертировать цифры в текст возникает в различных бухгалтерских и платежных документах, поэтому радует и наличие возможности выбора основных валют (рубли, доллары и евро).
Довольно лирики, давайте приступим и подробно разберемся, как написать число прописью.
Делаем в следующем порядке:
1. Скачиваем и распаковываем файл кликнув здесь.
2. Закиньте файл NUMSTR.XLA в папку Library, которая находится C:ProgramFiles (x86)MicrosoftOfficeOffice14Library (возможно расположение немного отличается, зависит от версий ПО).
3. Запустите Excel и на вкладке «Разработчик» кликните по кнопке «Надстройки» ( если ее нет, читайте ниже ).
Внимание. Если нет вкладки «Разработчик», пройдите Файл → Параметры → Настройка ленты и установите галку напротив пункта «Разработчик»
4. В окне «Надстройки» отметьте пункт NumStrAdd-in и нажмите ОК.
Усё можно пользоваться.
Число прописью в Excel. Как пользоваться
Расширение установлено, теперь несколько слов как использовать:
5. Для примера напишите в произвольной ячейке число цифрами.
6. Кликните по кнопке «Вставить Функцию».
7. В открывшемся окне «Мастер функций» в списке «Категория» выберите «Определенные пользователем».
8. После этого выберите необходимую функцию:
NumStr – отобразит цифры буквами в Excel;
RubStr — преобразует число прописью в рублях;
USDStr – конвертирует число прописью в долларах;
EURStr – выведет сумму прописью в евро.
9. В следующем окне «Аргументы функции» укажите в поле ячейку с данными (кликнут курсором) или непосредственно число цифрами, завершив нажатием кнопки ОК и растянувшейся улыбкой.
Интересно. Как закрепить строки в Excel читайте тут.
С помощью пользовательской функции
Как мой взгляд, это самое оптимальное и простое, относительно конечно, решение поставленного вопроса. Вы просто включаете функцию и пользуетесь ее с удовольствием.
Для этого вам необходимо выполнить некоторые действия. Сначала скачиваете файл надстройки здесь. После, переносите его в папку AddIns, которую можно найти по пути C:Documents and SettingsUserApplication DataMicrosoftAddIns, только вы вместо «User» подставляете имя вашего пользователя Windows. Еще может возникнуть проблема в отображении папки «Application Data», она может быть скрыта, тогда вам в настройках «Свойства папки» нужно активировать пункт «Показать скрытые файлы и папки». Теперь собственно и приступим к включении этой надстройки. В Excel выбираем «Файл» — «Параметры» — «Надстройки». В диалоговом окне «Настройки» ставим галочку напротив включаемой надстройки «Сумма Прописью» и нажимаем «ОК». Следующим шагом, ставим курсор на нужную ячейку и вызываем «Мастер функций». В разделе «Категория» выбираем пункт «Определенные пользователем» и теперь весть список встроенных функций по написанию сумм прописью нам доступен. Кстати как видите, доступен даже выбор функций в разрезе валют. Сразу замечу, что надстроек бывает много, есть и более расширенные, но эта меня полностью устраивает, вот я ее и описываю. В результате мы получаем возможность получить следующие данные:
Смена формата ячейки.
Использование текста в столбце
С помощью VBA
Функция «СуммаПрописью»
Эта пользовательская функция написана на VBA Excel. Вставить ее в ячейку можно с помощью мастера функций или вручную, как и любую другую встроенную функцию рабочего листа.
Чтобы функцией «СуммаПрописью» можно было воспользоваться, ее программный код должен быть добавлен в рабочую книгу Excel. При передаче книги со встроенным кодом на другой компьютер, функция сохранит работоспособность.
Чтобы функция была доступна из всех рабочих книг на отдельном компьютере, ее код следует добавить в персональную (личную) книгу макросов (PERSONAL.XLSB).
Если у вашей программы Excel нет личной книги макросов, ее можно создать самостоятельно. Ниже рассмотрено добавление кода функции именно в персональную книгу макросов, в рабочие книги он добавляется точно также.
- Скачайте архив и извлеките из него файл «Module.bas» с кодом функции.
- Откройте любую книгу Excel, можно новую.
- Сочетанием левой клавиши Alt+F11 откройте редактор Visual Basic for Applications.
- Дважды кликните на строке «VBA Project (PERSONAL.XLSB)» или один раз на крестике слева для открытия вложенного списка. Если эта позиция уже развернута переходите к пункту 5.
- Дважды кликните на строке «Microsoft Excel Objects» или один раз на крестике слева для открытия списка объектов. Если эта позиция уже развернута переходите к пункту 6.
- Кликнув правой кнопкой на строке «ЭтаКнига», откройте контекстное меню и выберите в нем пункт «Import File…».
- В открывшемся диалоге выбора файлов найдите извлеченный ранее из архива «Module.bas» и выберите его двойным кликом. Модуль с функцией будет автоматически загружен.
Теперь можно в ячейки на листах любых рабочих книг вставлять формулу: «=PERSONAL.XLSB!СуммаПрописью(АдресЯчейки)» или, что намного удобнее, выбирать функцию с помощью мастера. Откройте мастер функций, выберите категорию «Определенные пользователем» и в списке доступных функций появится строка «PERSONAL.XLSB!СуммаПрописью», которую можно выбрать, а на втором шаге вставить адрес ячейки с числовым значением.
Формула будет доступна во всех книгах Excel, но только на компьютере, на котором находится персональная книга макросов PERSONAL.XLSB с загруженным модулем.
Если книгу планируется передавать на другие машины, тогда в шаге 6 надо правой кнопкой кликнуть на строке «ЭтаКнига», относящейся не к «VBA Project (PERSONAL.XLSB)», а относящейся к «VBA Project (ВашаКнига)» с именем вашей книги. Тогда модуль с функцией загрузится непосредственно в вашу рабочую книгу Excel и будет доступен для этой книги на любом компьютере. В этом случае формула в ячейке будет иметь вид: «=СуммаПрописью(АдресЯчейки)».
‘);
var s = document.createElement(‘script’);
s.type = ‘text/javascript’; s.async = true;
s.src = ‘https://ad.admitad.com/shuffle/a86adf82cb/’+subid_block+’?inject_to=’+injectTo;
var x = document.getElementsByTagName(‘script’);
x.parentNode.insertBefore(s, x);
})();
Числа прописью с копейками заглавными или строчными буквами в Excel
Вот код VBA для пользовательской функции. Отображение суммы прописью с копейками и выбором первой заглавной или строчной буквы
Function РубПропись(Сумма As Double, Optional Без_копеек As Boolean = False, _ Optional КопПрописью As Boolean = False, Optional начинитьПрописной As Boolean = True) As String 'Функция для написания суммы прописью Dim ed, des, sot, ten, razr, dec Dim i As Integer, str As String, s As String Dim intPart As String, frPart As String Dim mlnEnd, tscEnd, razrEnd, rub, cop dec = Array("", "одна ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ") ed = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ") ten = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ") des = Array("", "", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ") sot = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ") razr = Array("", "тысяч", "миллион", "миллиард") mlnEnd = Array("ов ", " ", "а ", "а ", "а ", "ов ", "ов ", "ов ", "ов ", "ов ") tscEnd = Array(" ", "а ", "и ", "и ", "и ", " ", " ", " ", " ", " ") razrEnd = Array(mlnEnd, mlnEnd, tscEnd, "") rub = Array("рублей", "рубль", "рубля", "рубля", "рубля", "рублей", "рублей", "рублей", "рублей", "рублей") cop = Array("копеек", "копейка", "копейки", "копейки", "копейки", "копеек", "копеек", "копеек", "копеек", "копеек") If Сумма >= 1000000000000# Or Сумма < 0 Then РубПропись = CVErr(xlErrValue): Exit Function '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& If Round(Сумма, 2) >= 1 Then intPart = Left$(Format(Сумма, "000000000000.00"), 12) For i = 0 To 3 s = Mid$(intPart, i * 3 + 1, 3) If s <> "000" Then str = str & sot(CInt(Left$(s, 1))) If Mid$(s, 2, 1) = "1" Then str = str & ten(CInt(Right$(s, 1))) Else str = str & des(CInt(Mid$(s, 2, 1))) & IIf(i = 2, dec(CInt(Right$(s, 1))), ed(CInt(Right$(s, 1)))) End If On Error Resume Next str = str & IIf(Mid$(s, 2, 1) = "1", razr(3 - i) & razrEnd(i)(0), _ razr(3 - i) & razrEnd(i)(CInt(Right$(s, 1)))) On Error GoTo 0 End If Next i str = str & IIf(Mid$(s, 2, 1) = "1", rub(0), rub(CInt(Right$(s, 1)))) End If РубПропись = str '''''''''''''''''' If Без_копеек = False Then frPart = Right$(Format(Сумма, "0.00"), 2) If frPart = "00" Then frPart = "" Else If КопПрописью Then frPart = IIf(Left$(frPart, 1) = "1", ten(CInt(Right$(frPart, 1))) & cop(0), _ des(CInt(Left$(frPart, 1))) & dec(CInt(Right$(frPart, 1))) & cop(CInt(Right$(frPart, 1)))) Else frPart = IIf(Left$(frPart, 1) = "1", frPart & " " & cop(0), frPart & " " & cop(CInt(Right$(frPart, 1)))) End If End If РубПропись = str & " " & frPart End If '''''''''''''''''' ' РубПропись = str & frPart If начинитьПрописной Then Mid$(РубПропись, 1, 1) = UCase(Mid$(РубПропись, 1, 1)) ' If начинитьПрописной Then РубПропись = UCase(Left(РубПропись, 1)) & Mid(РубПропись, 2) End Function
- Без копеек (1), с копейками (0)
- Копейки прописью (1), числом (0)
- Начинать прописью (0), заглавной (1)
Вот как используется функция
Примечание
- Данная функция будет работать с числами от 0 до 99 999 999
- Перед копирование кода переключите раскладку клавиатуры на русский язык (для корректного копирования русского текста)
- Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала
- После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
- Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)
Другие способы преобразования
Удаление непечатаемых символов
Если копировать информацию из иных источников, то нередко вместе с полезной информацией переносится куча мусора, от которого неплохо было бы избавиться. Часть из этого мусора – непечатаемые символы. Из-за них числовое значение может восприниматься, как набор символов.
Чтобы избавиться от этой проблемы, можно воспользоваться формулой =ЗНАЧЕН(СЖПРОБЕЛЫ(ПЕЧСИМВ(A2)))
Схема работы этой формулы очень проста. С использованием функции ПЕЧСИМВ можно избавиться от непечатаемых символов. В свою очередь, СЖПРОБЕЛЫ избавляет ячейку от невидимых пробелов. А функция ЗНАЧЕН делает текстовые символы числовыми.