На этом шаге мы рассмотрим текст этой подпрограммы.
Подпрограмма СборДанныхБюджетов (рисунок 1) производит очистку столбцов А:С рабочих листов ПромРасчеты (рисунок 6) и ПереченьБюджетов (рисунок 4), после чего переходит к последовательному выполнению процедур открытия файлов с функциональными бюджетами, из которых с помощью процедуры ОбработкаДанных переносит данные в файл СистемаБюджетов.
Рис.1. Подпрограмма СборДанныхБюджетов
Подпрограмма ОбработкаДанных (рисунок 2), переходя от открытого файла с функциональным бюджетом к файлу СистемаБюджетов, с помощью макросов ВставкаПараметровБюджета и СборБюджетов последовательно переносит данные о времени создания функционального бюджета, его название и название составившего его подразделения, а затем и саму таблицу с данными бюджета, после чего закрывает файл с функциональным бюджетом.
Рис.2. Макрос ОбработкаДанных
При записи макроса для перехода от файла СистемаБюджетов к файлу функциональным бюджетом используйте комбинацию клавиш Ctrl+Tab, выполнение которой позволяет переместиться в следующее окно Excel. Подобная методика может найти свое объяснение в упрощении записи выполнения макросами операций - нет необходимости перечислять имена всех открываемых файлов с функциональными бюджетами. При выполнении комбинации клавиш Ctrl+Tab макрос запишет код VBA открытия следующего окна:
ActiveWindow.ActivateNext
Вся запись макроса может быть заключена в трех действиях: после начала записи макроса при открытом файле СистемаБюджетов и, например, новой книги, нажмите два раза комбинацию клавиш Ctrl+Tab, после чего закройте новую книгу без сохранения и остановите запись макроса. После этого откройте Редактор Visual Basic, отредактируйте код и вставьте имена входящих в него процедур.
Подпрограмма ВставкаПараметровБюджета (рисунок 3) копирует в открытом файле с функциональным бюджетом содержимое диапазона ячеек А1:С1 и, перейдя на рабочий лист ПереченьБюджетов (рисунок 4) файла СистемаБюджетов, находит первую свободную строку и производит вставку скопированной области из буфера обмена.
Рис.3. Подпрограмма ВставкаПараметровБюджета
Рис.4. Рабочий лист ПереченьБюджетов с перечнем функциональных бюджетов, данные которых консолидировались
Таким образом, на рабочем листе ПереченьБюджетов будет сформирован весь перечень функциональных бюджетов, на основании которых будут составлены основные бюджеты БДДС и БДР.
Задача подпрограммы СборБюджетов - консолидировать данные, которые введены во все функциональные бюджеты. Для этого на рабочем листе файла с функциональным бюджетом выделяется ранее оговоренная в регламенте формирования этого электронного документа область таблицы с функциональным бюджетом (в нашем примере С5:Е54) и копируется в буфер обмена. После перехода на рабочий лист ПромРасчеты (рисунок 5) файла СистемаБюджетов в столбце А определяется первая свободная строка и осуществляется вставка содержимого скопированного диапазона, но в виде значений, используя для этого диалоговое окно Специальная вставка.
Рис.5. Подпрограмма СборБюджетов
Затем осуществляется сортировка созданного списка по убыванию по столбцу В, в котором находится текст кодов управленческого учета.
Рис.6. Рабочий лист ПромРасчеты с фрагментом собранных данных функциональных бюджетов
На следующем шаге мы рассмотрим формирование бюджета доходов и расходов.