Шаг 433.
VBA в MSExcel. Бюджетирование... . Формирование бюджетов. Подпрограмма для консолидации данных всех функциональных бюджетов

    На этом шаге мы рассмотрим текст этой подпрограммы.

    Подпрограмма СборДанныхБюджетов (рисунок 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. Рабочий лист ПромРасчеты с фрагментом собранных данных функциональных бюджетов

    На следующем шаге мы рассмотрим формирование бюджета доходов и расходов.




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