Цифры прописью в счетах, накладных и прочих финансовых документах или отчетах, которые преобразуются автоматически из данных суммы в ячейке Excel при помощи макроса (сценария в VBA).
Совсем недавно, нужно было отредактировать внешний отчет для 1C, где помимо изменения структуры и текстовки отчета (в связи с изменениями стандартов), необходимо было также сделать в конце отчета итоговую сумму прописью (то есть цифры в текстовом виде, например, 1357,65 грн - Тисяча триста п'ятдесят сім грн шістдесят п'ять копійок). Как оказалось, в 1С уже прописан специальный скрипт, который выполняет функцию этой трансформации.
Практически сразу после этого, потребовалось сделать нечто похожее прямо в Excel. В экселевском отчете внизу после ячейки подбивающей итоги необходимо указать эту сумму прописью. Среди стандартных функций экселя нет такой, которая бы выполняла такое преобразование, но сделать это можно с помощью пользовательской функции написанной в VBA.
Допустим, в xls-файле какая-то ячейка (например, E13) является итоговой, но число в ней представлено, естественно, в числовом формате, а вам нужна еще и сумма прописью.
1. Выделите и объедините диапазон ячеек, в котором будет указана сумма прописью (например, A14–K14).
2. Щелкните левой кнопкой мыши в строке формул и введите следующий текст (укажите вместо E13 нужную вам ячейку):
=ЕСЛИ((E13)<=0;"Сумма прописью:_______________________________________";"Сумма прописью: "&FirstLetter(CurText(E13)))
3. Теперь займемся программированием:
Если Excel 2003
– откройте меню Сервис –> Макрос –> Редактор Visual Basic (или нажмите Alt + F11);
Если Excel 2007 или 2010
Если вкладка Разработчик недоступна, выполните следующие действия для ее отображения:
Нажмите кнопку Microsoft Office , а затем щелкните Параметры Excel.
В категории Основные в группе Основные параметры работы с Excel установите флажок Показывать вкладку "Разработчик" на ленте, а затем нажмите кнопку ОК.
После этого во вкладке "Разработчик" меню для работы с макросами будет выглядеть так:
где нажимаем кнопочку Visual Basic
Далее для всех версий MS Office, инструкция одинакова:
- в открывшемся окне Microsoft Visual Basic выберите меню Insert –> Module;
- откроется окно Module1 (Code), введите (скопируйте и вставьте) в этом окне (без изменений!) код из текстовом файла rus.txt, если нужен русский вариант и единицы измерения рубли или ukr.txt, если нужен украинский вариант.
Сохраните изменения в файле. Пользуйтесь!
Примечания
1. Рекомендации данной статьи предназначены для Excel начиная с версий Microsoft Office XP/2003 и выше, в других версиях возможны незначительные отклонения.
2. Чтобы созданная нами программа работала:
– откройте меню Сервис –> Макрос –> Безопасность…;
– в открывшемся окне Безопасность на вкладке Уровень безопасности установите переключатель Низкая, на вкладке Надежные издатели установите флажки Доверять всем установленным надстройкам и шаблонам и Доверять доступ к Visual Basic Project –> OK.
Ну собственно все, в архиве помимо необходимых кодов прилагается также файл эксель с работающим примером.