На этом шаге мы алгоритмы формирования доходной и расходной частей.
Таблица непосредственно платежного календаря расположена в области ячеек С6:AI83. Строки 12:29 календаря выделены для формирования постатейно данных поступивших денежных средств, а строки 32:79 - для списанных.
Перед автоматическим заполнением платежного календаря в ячейку D2 с клавиатуры вводится номер месяца, за который будет формироваться платежный календарь. Промежуточные расчеты при формировании платежного календаря будут производиться в столбцах ВА:ВС.
Для формирования наименований статей платежного календаря предназначена подпрограмма ФормированиеСтатейКалендаря (рисунок 1).
Рис.1. Подпрограмма ФормированиеСтатейКалендаря для формирования наименования статей поступления денежных средств
Статьи формируются на основании наименований операций, введенных в исходную таблицу на рабочем листе ИсхДанные. Причем, если наименование операции присутствует в исходной таблице, но не проводилась в месяце, за который формируется платежный календарь, эта статья будет все равно присутствовать в календаре. Это объясняется необходимостью унификации платежных календарей за любой период времени. Смысл такой унификации заключается, прежде всего, в наглядности, или желании человека искать вещи на привычном для него месте. Например, в одном месяце предприятие вело активную финансово-хозяйственную деятельность и статей расхода, по которым проводились операции, было 50, а в другом месяце всего 10, и в календаре отражены только статьи с проводимыми операциями. Руководитель, положив на стол два листа бумаги с распечатанными платежными календарями, больше времени потратит на поиск идентичных статей в этих таблицах, чем непосредственно на анализ содержащейся информации и принятие решений.
В подпрограмму входят на две других процедуры: ввод формул выбора наименований статей поступления (ДоходнаяЧасть) и статей списания денежных средств (РасходнаяЧасть). Сама же подпрограмма осуществляет только вставку выбранного текста наименований статей непосредственно в календарь.
В нашем примере в создаваемом платежном календаре можно разместить до 18 статей в доходной части календаря и 48 статей в расходной. При необходимости количество статей может быть уменьшено или увеличено, но тогда необходимо будет редактировать описанные далее макросы формирования платежного календаря и размеры таблицы, в которой календарь размещен.
Если нет необходимости в постоянном обновлении наименования статей при формировании платежного календаря, то тогда выполнение этой подпрограммы можно не производить, поставив перед ее именем в рассматриваемой далее подпрограмме ЗаполнениеПлатежногоКалендаряПоДатам (рисунок 2) знак примечания.
Рис.2. Подпрограмма ЗаполнениеПлатежногоКалендаряПоДатам
Прежде чем приступить к записи макроса ДоходнаяЧасть, введите формулы в ячейку ВА12:
=ЕСЛИ(ИсхДанные!I10=0;"";ЕСЛИ(ИсхДанные!H10=1;ИсхДанные!C10;0))
В ячейке ВВ12 формула:
=ЕСЛИ(BA12=BA13;0;BA12)
Для записи подпрограммы выполните следующие действия после начала записи макроса:
Рис.3. Макрос ДоходнаяЧасть
При создании макроса РасходнаяЧасть нет необходимости повторять все действия, выполненные при записи предыдущего. Скопируйте макрос ДоходнаяЧасть в Редакторе Visual Basic и, заменив имя, отредактируйте его, что заключается в замене ссылки на ячейку с I10 при вводе формулы в диапазон ячеек ВА:
""=IF(ИсхДанные!R[-2]C[-44]=0, ......"
""=IF(ИсхДанные!R[-2]C[-43]=0, ...."
Это относительная система ссылок и указывает на то, что столбец I находится 44-м, а столбец J 43-м слева по отношению к столбцу ВА, в ячейки которого вводятся формулы.
На следующем шаге мы рассмотрим заполнение платежного календаря.