Шаг 388.
VBA в MSExcel. Модель прогнозирования денежных потоков... . Формирование наименований статей платежного календаря

    На этом шаге мы алгоритмы формирования доходной и расходной частей.

    Таблица непосредственно платежного календаря расположена в области ячеек С6:AI83. Строки 12:29 календаря выделены для формирования постатейно данных поступивших денежных средств, а строки 32:79 - для списанных.

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

    Для формирования наименований статей платежного календаря предназначена подпрограмма ФормированиеСтатейКалендаря (рисунок 1).


Рис.1. Подпрограмма ФормированиеСтатейКалендаря для формирования наименования статей поступления денежных средств

    Статьи формируются на основании наименований операций, введенных в исходную таблицу на рабочем листе ИсхДанные. Причем, если наименование операции присутствует в исходной таблице, но не проводилась в месяце, за который формируется платежный календарь, эта статья будет все равно присутствовать в календаре. Это объясняется необходимостью унификации платежных календарей за любой период времени. Смысл такой унификации заключается, прежде всего, в наглядности, или желании человека искать вещи на привычном для него месте. Например, в одном месяце предприятие вело активную финансово-хозяйственную деятельность и статей расхода, по которым проводились операции, было 50, а в другом месяце всего 10, и в календаре отражены только статьи с проводимыми операциями. Руководитель, положив на стол два листа бумаги с распечатанными платежными календарями, больше времени потратит на поиск идентичных статей в этих таблицах, чем непосредственно на анализ содержащейся информации и принятие решений.

    В подпрограмму входят на две других процедуры: ввод формул выбора наименований статей поступления (ДоходнаяЧасть) и статей списания денежных средств (РасходнаяЧасть). Сама же подпрограмма осуществляет только вставку выбранного текста наименований статей непосредственно в календарь.

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

    Если нет необходимости в постоянном обновлении наименования статей при формировании платежного календаря, то тогда выполнение этой подпрограммы можно не производить, поставив перед ее именем в рассматриваемой далее подпрограмме ЗаполнениеПлатежногоКалендаряПоДатам (рисунок 2) знак примечания.


Рис.2. Подпрограмма ЗаполнениеПлатежногоКалендаряПоДатам

Формирование наименования статей поступления денежных средств

    Прежде чем приступить к записи макроса ДоходнаяЧасть, введите формулы в ячейку ВА12:

  =ЕСЛИ(ИсхДанные!I10=0;"";ЕСЛИ(ИсхДанные!H10=1;ИсхДанные!C10;0))
которые вначале проверяют, отличается ли значение в ячейке I10 рабочего листа ИсхДанные (поступление денежных средств) от значения 0. Если отличается, то проводится дополнительная проверка: введен ли признак денежных потоков в ячейку Н10 рабочего листа ИсхДанные. При выполнении этих условий формула возвращает текст наименования операции, введенную в ячейку С10 рабочего листа ИсхДанные.

    В ячейке ВВ12 формула:

  =ЕСЛИ(BA12=BA13;0;BA12)
вступает в свои полномочия после замены содержимого диапазона ячеек ВА12:ВА5002, содержащих первую формулу на определенные ею значения и последующую их сортировку (по убыванию не считая первую строку строкой заголовка). После сортировки значений, текст одинаковых наименований статей будет содержаться только в смежных ячейках. Тогда эта формула, сравнив значения в двух смежных ячейках, при идентичном тексте возвратит значение 0, а при несовпадении - текст наименования статьи в ячейке находящейся выше. Таким образом, из всех ячеек, содержащим одинаковый текст наименования статьи во всем массиве данных, будет выбрана только одна.

    Для записи подпрограммы выполните следующие действия после начала записи макроса:


Рис.3. Макрос ДоходнаяЧасть

Формирование наименования статей списания денежных средств

    При создании макроса РасходнаяЧасть нет необходимости повторять все действия, выполненные при записи предыдущего. Скопируйте макрос ДоходнаяЧасть в Редакторе Visual Basic и, заменив имя, отредактируйте его, что заключается в замене ссылки на ячейку с I10 при вводе формулы в диапазон ячеек ВА:

  ""=IF(ИсхДанные!R[-2]C[-44]=0, ......"
на ссылку на ячейку J10:
  ""=IF(ИсхДанные!R[-2]C[-43]=0, ...."

    Это относительная система ссылок и указывает на то, что столбец I находится 44-м, а столбец J 43-м слева по отношению к столбцу ВА, в ячейки которого вводятся формулы.

    На следующем шаге мы рассмотрим заполнение платежного календаря.




Предыдущий шаг Содержание Следующий шаг