Как сделать квитанцию в excel

Обновлено: 07.07.2024

= Мир MS Excel/Статьи об Excel

Приёмы работы с книгами, листами, диапазонами, ячейками [6]
Приёмы работы с формулами [13]
Настройки Excel [3]
Инструменты Excel [4]
Интеграция Excel с другими приложениями [4]
Форматирование [1]
Выпадающие списки [2]
Примечания [1]
Сводные таблицы [1]
Гиперссылки [1]
Excel и интернет [1]
Excel для Windows и Excel для Mac OS [2]
Печать ценников, квитанций, талонов из базы MS Excel

В данной статье рассматривается вариант, когда на странице документа Word необходимо разместить данные из нескольких записей таблицы. По приведённому алгоритму можно формировать страницы для печати квитанций, талонов, визиток, карточек и других однотипных небольших по размеру документов

Рассмотрим пример. Предположим есть некий прайс мебельного магазина "Мир диванов".


Предположим также, что произошло изменение цен, и нужно распечатать новые ценники. На листе формата А4 можно разместить шесть ценников. Примерно так


- кликните для увеличения изображения

Разберём процесс создания ценников по шагам. Предполагается, что база данных в Excel, на основе которой будут создаваться ценники, уже существует. Как подготовить файл Excel к слиянию, можно прочитать в этой статье. Если коротко, то таблица, предназначенная для слияния, должна удовлетворять некоторым требованиям:

  • в таблице не должно быть объединенных ячеек;
  • все столбцы должны иметь уникальные названия, которые будут использоваться при слиянии.

Следует помнить, что для более удобной дальнейшей работы при слиянии рекомендуется в Параметрах Word -- Дополнительно -- установить параметр Затенение полей в положение Всегда , чтобы отличать вставленные поля слияния от обычного текста. Если этот параметр включен, поля отображаются на сером фоне. На печать этот фон, естественно, не выводится.

Шаг 1. Разработка макета документа

На вкладке Рассылки под кнопкой Начать слияние выбираем вариант Наклейки. Раскрывается диалоговое окно Параметры наклеек, в котором можно выбрать макет или создать новый на основе уже имеющихся.


Выбираем наиболее подходящий макет и нажимаем кнопку Создать (или Настройка). Раскрывается диалоговое окно, в котором задаются количество, размеры и расположение будущих ценников. Для нашего примера были заданы значения, указанные на рисунке


Если шаг по вертикали и горизонтали равен соответственно высоте и ширине наклейки, то они будут располагаться вплотную друг к другу. В нашем случае между наклейками будет зазор 5 мм.

Нажимаем ОК, возвращаемся в предыдущее окно и там тоже ОК. После этого на странице появляется разметка в соответствии с заданными параметрами. Строго говоря, разметка представляет собой таблицу, в ячейках которой и будут располагаться ценники.

Шаг 2. Выбор источника данных

На вкладке Рассылки под кнопкой Выбор получателей выбираем вариант Использовать существующий список, в диалоговом окне находим подготовленный файл Excel и нажимаем Открыть. Если в книге Excel несколько листов, то в следующем окне следует выбрать один с интересующей нас таблицей -- ОК. После этого, на листе в разметке появятся служебные поля слияния NEXT. Они необходимы для перехода к следующей записи, поэтому удалять их НЕЛЬЗЯ!


Кроме того, после выбора источника под кнопкой Вставить поле слияния на вкладке Рассылки появляется список полей таблицы-источника записей.

Шаг 3. Форматирование ценника

Этот шаг является самым долгим, так как именно здесь мы формируем внешний вид будущего ценника. Так как содержимое автоматически не распространяется сразу на все ячейки таблицы, рекомендуется полностью отформатировать ценник в одной ячейке, а затем скопировать в остальные. Чтобы просматривать внешний вид ценника в процессе работы, следует использовать кнопку Просмотреть результаты на вкладке Рассылки.

Набираем с клавиатуры текст, который будет присутствовать во всех ценниках, в нужных местах вставляем поля слияния с помощью кнопки Вставить поле слияния, форматируем ценник, при необходимости редактируем коды полей слияния. Например, в нашем документе потребуется доработать коды полей Дата и Цена.

Поля слияния представляют собой код, который можно увидеть, кликнув по полю правой кнопкой мыши и выбрав команду Коды/Значения полей. Например, код поля Дата будет выглядеть так . Добавим в код формат для отображения даты в привычном виде

Код поля Цена отредактируем таким образом, чтобы цена отображалась в денежном формате .

После того как желаемый результат достигнут, копируем содержимое первой ячейки в другие ячейки таблицы, не удаляя поле NEXT.


- кликните для увеличения изображения

Шаг 4. Формирование окончательного файла с ценниками для печати

На последнем шаге под кнопкой Найти и объединить выбираем вариант либо Печать документов, и тогда все листы сразу отправляются на принтер, либо Изменить отдельные документы, и тогда создаётся новый документ Word, в котором можно увидеть и при необходимости отредактировать заполненные ценники


- кликните для увеличения изображения

В заключение можно добавить, что те же шаги можно выполнить с помощью Мастера слияния, который запускается из-под кнопки Начать слияние.

В заключительной части этой темы мы разберем интересную практическую ситуацию, связанную с выпиской квитанции на оплату. Начнем работу с создания новой книги и один из листов оформим в виде, представленном на рис. 3.33. Это будет бланк квитанции об оплате. Здесь используется форматирование ячеек и размещение на листе дополнительных фигур (линий).

Рис. 3.33. Бланк квитанции

Рис. 3.33. Бланк квитанции

Далее наша цель заключается в обеспечении автоматизации при заполнении фрагментов квитанции, выделенных линиями. Для определенности будем считать, что выписываются квитанции для внесения оплаты за обучение (хотя какого-то принципиального значения тематика рассматриваемого примера не имеет). При оплате за обучение возможна ситуация, когда плательщик и сам учащийся — разные люди. Например, обучение оплачивает родственник. И это мы в нашей разработке должны предусмотреть. Также в квитанции сумму необходимо заполнить как цифрами, так и прописью. Поэтому потребуется обеспечить перевод числа в пропись.

Создадим еще один лист в нашей книге, который назовем Управление (рис. 3.34). Здесь, начиная с восьмой строки, располагается справочная информация об учащихся и плательщиках. Элемент управления «Поле со списком» заполняется фамилиями учащихся при открытии книги. Для этого нам понадобится оформить соответствующим образом процедуру (листинг 3.33), выполняемую при открытии книги.

' Листинг 3.33. Процедура, выполняемая при открытии книги Private Sub Workbook_Open() ' Подсчет числа учащихся N = 0 While Worksheets(1).Cells(N + 8, 1).Value <> "" N = N + 1 Wend ' Заполнение списка учащихся Worksheets(1).Spk.Clear For i = 1 To N Worksheets(1).Spk.AddItems(1).Cells(i + 7, 1).Value Next End Sub

Рис. 3.34. Лист Управление

Рис. 3.34. Лист Управление

Здесь предполагается, что лист Управление располагается на первом месте среди листов книги. Также для поля со списком подобрано Spk в качестве значения свойства Name.

Теперь пользователь, после выбора щелчком в поле со списком интересующего его студента, должен автоматически получить в ячейке, расположенной ниже заголовка Плательщик, фамилию плательщика (как уже говорилось, это может быть либо сам студент, либо один из его родственников). После этого необходимо внести сумму для квитанции и дату. Эта информация вводится в третий и четвертый столбцы ниже соответствующих подписей на листе.

Теперь важный технический момент. Для квитанции необходимо преобразовать числовое выражение суммы в строковое (представить прописью). Разумеется, необходима функция, которая это делает. Среди стандартных функций Microsoft Excel такой нет, и следует воспользоваться дополнительным модулем.

Один из наиболее удобных вариантов решения данной проблемы выглядит следующим образом. В любой поисковой системе (например, Rambler или Yandex) следует набрать в строке поиска «пропись Excel». В результате вы получите несколько предложений. Рекомендуется остановиться на модуле d2w.xla. Этот файл представляет надстройку для Microsoft Excel. Необходимо распаковать содержимое загруженного архива и разместить файл d2w.xla в папке Program Files ► Microsoft Office ► Office12 ► XLSTART. После этого модуль будет автоматически подключаться при запуске Microsoft Excel.

После выполненных действий можно в любой книге Microsoft Excel использовать формулу вида = пропись (число) для перевода числового значения соответствующей ячейки в прописную форму. Ею и следует воспользоваться па рабочем листе в третьей строке третьего столбца: =ПРОПИСЬ(R[-1]С) . Теперь осталось написать процедуру обработки щелчка на кнопке Заполнить (листинг 3.34), которая обеспечивает заполнение бланка квитанции.

Имеем базу данных (список, таблицу - называйте как хотите) с информацией по платежам на листе Данные:

Задача: быстро распечатывать приходно-кассовый ордер (платежку, счет-фактуру. ) для любой нужной записи выбранной из этого списка. Поехали!

Шаг 1. Создаем бланк

На другом листе книги (назовем этот лист Бланк) создаем пустой бланк. Можно самостоятельно, можно воспользоваться готовыми бланками, взятыми, например, с сайтов журнала "Главный Бухгалтер" или сайта Microsoft. У меня получилось примерно так:

order_database2.jpg

В пустые ячейки (Счет, Сумма, Принято от и т.д.) будут попадать данные из таблицы платежей с другого листа - чуть позже мы этим займемся.

Шаг 2. Подготовка таблицы платежей

Прежде чем брать данные из таблицы для нашего бланка, таблицу необходимо слегка модернизировать. А именно - вставить пустой столбец слева от таблицы. Мы будем использовать для ввода метки (пусть это будет английская буква "икс") напротив той строки, данные из которой мы хотим добавить в бланк:

Шаг 3. Связываем таблицу и бланк

Для связи используем функцию ВПР (VLOOKUP) - подробнее про нее можно почитать здесь. В нашем случае для того, чтобы вставить в ячейку F9 на бланке номер помеченного "x" платежа с листа Данные надо ввести в ячейку F9 такую формулу:

Т.е. в переводе на "русский понятный" функция должна найти в диапазоне A2:G16 на листе Данные строку, начинающуюся с символа "х" и выдать нам содержимое второго столбца этой строки, т.е. номер платежа.

Аналогичным образом заполняются все остальные ячейки на бланке - в формуле меняется только номер столбца.

В итоге должно получиться следующее:

order_database4.jpg

Шаг 4. Чтобы не было двух "х".

Если пользователь введет "х" напротив нескольких строк, то функция ВПР будет брать только первое найденное значение. Чтобы не было такой многозначности, щелкните правой кнопкой мыши по ярлычку листа Данные и выберите Исходный текст (Source Code) . В появившееся окно редактора Visual Basic скопируйте следующий код:

Этот макрос не дает пользователю ввести больше одного "х" в первый столбец.


Нам потребуется обычный файл Excel. Вы можете взять за основу имеющийся или начать с чистого листа.

Составляем список данных, которыми нам требуется заполнять договор: номер, дата, предмет договора, сумма, срок, данные заказчика и так далее. Для каждого элемента нам потребуется создать в Excel свою ячейку для заполнения. У меня получилась примерно такая форма:

Пример оформления формы

Оформление может быть любым, на ваш вкус и цвет. При формировании формы я использовал стили, расположенные на вкладке Главная. Это быстро и удобно, а также позволяет в один клик изменить цветовую гамму на вкладке меню "Разметка страницы" - "Тема"

Автоматизация формы

Часть данных (номер договора, сумма, срок), необходимо заполнять всегда тут ничего не сделаешь. Но как мы видим есть часть данных, которые хорошо бы заполнить автоматически. Это - сумма прописью, срок прописью, данные заказчика в родительном падеже и так далее. Давайте их автоматизируем.

Дата договора

В Excel существует множество функций по работе с датами. Если дата договора всегда текущая, то можно использовать функцию =СЕГОДНЯ(). При необходимости можно настроить, чтобы дата рассчитывалась как следующий рабочий день =РАБДЕНЬ(СЕГОДНЯ();1).

Для вставки даты вы можете использовать календарь из программы:

Вставка даты из календаря

Сумма договора

Тут можно автоматизировать заполнение значения суммы договора прописью, для этого в программе есть специальная кнопка Деньги прописью, которая поможет сформировать формулу для автоматического расчета. Программа умеет склонять по всем падежам и поддерживает формирование суммы в нескольких форматах.

Вставка деньги прописью

Вставка денег прописью

Срок прописью

Срок прописью аналогично, хочется вводить только цифры, чтобы в документ вставлялось прописью полностью. Кстати, это касается не только срока, это может быть количество чего угодно: услуги, штуки, килограммы, яблоки, помидоры и так далее. В программе Doc.filler все это можно автоматизировать. Откройте функции и выберите Вещи прописью.

В диалоговом окне сформируйте нужную вам формулу.

Диалоговое окно функции Вещи прописью

Заполнение заказчика

Данные заказчика идеально подгружать из внутренней системы заказчика 1С или другой CRM. Если такой возможности нет, то для начала можно упростить жизнь путем создания справочника правовых форм (ООО, ОАО и т.д.) Тогда нам потребуется просто выбрать из списка нужную форму и указать наименование. Остальное мы сделаем на формулах.

Итак создадим отдельный лист и разместим там таблицу со списком правовых форм.

Таблица правовых форм

Таблицу можно отформатировать как табличный диапазон, так с ней будет проще работать далее.

Теперь на форме создадим динамичный выпадающий список с данными правовых форм.

Осталось создать формулы для заполнения заказчика сокращенно в моем случае это формула = Правовая_форма &" "& Заказчик_наименование . Замените на соответствующие ячейки.

Формула для полного наименования заказчика следующая =ВПР( Правовая_форма ; ПравовыеФормы ;2;0)&" "& Заказчик_наименование . ПравовыеФормы - название таблицы со справочником форм.

Результат выглядит следующим образом:

Заполнение заказчика

Склонение ФИО подписанта

Сейчас посмотрим как автоматически склонять ФИО подписанта. Для этого в программе есть соответствующая функция, которую можно вставить из меню:

Вставка функции Склонение ФИО

Функция ДФ_СклонениеФИО

Программа умеет склонять 90% русских ФИО по всем падежам.

Склонение должности и других фраз

Аналогичным образом склоняются должности и другие короткие фразы договора, например Устав. Вставьте функцию Склонение фраз через ленту меню:

Вставка функции Склонение фраз

Функция Склонение фраз

Итоговая форма

В результате мы создали форму и автоматизировали часть информации, чтобы не приходилось вводить ее по нескольку раз.

Заполненная форма

Следующим нашим шагом будет создание шаблона договора и последующее его автоматическое заполнение данными из формы.

Читайте также: