Шаг 439.
VBA в MSExcel. Бюджетирование... . Фиксированные платежи. Автоматизация ввода данных по фиксированным платежам

    На этом шаге мы рассмотрим реализацию автоматизации ввода данных.

    Ввод данных в таблицу с фиксированными платежами осуществляется в полуавтоматическом режиме с помощью созданных элементов управления на листе ФиксПлатежи.


Рис.1. Рабочий лист ФиксПлатежи

Справочник расшифровки кодов управленческого учета

    Для автоматизации процесса ввода данных по фиксированным платежам предварительно создайте список - справочник расшифровки кодов счетов управленческого учета. Этот список можно создать в любом месте книги СистемаБюджетов. В нашем примере он расположен на рабочем листе Пульт в области W4:Y50 (рисунок 2).


Рис.2. Справочник расшифровки кодов управленческого учета

Поиск вводимого кода и статьи управленческого учета

    Элемент управления Список производит поиск кода управленческого учета, формирует список по созданному справочнику и помещает результат в ячейку АА1 рабочего листа ФиксПлатежи. Для задания этих параметров с помощью команды Формат | Элемент управления откройте диалоговое окно Формат элемента управления и на вкладке Элемент управления (рисунок 3) введите в поля Формировать список по диапазону и Помещать результат в ячейку необходимые адреса диапазона и ячейки.


Рис.3. Диалоговое окно Формат элемента управления для элемента Список

    Этому элементу управления назначен макрос ПоискСтатьиФиксированногоПлатежа, который вводит в ячейки F1:F2 формулы поиска кода статьи управленческого учета и наименования этой статьи. При каждом обращении к элементу управления формулы обновляются.


Рис.4. Макрос ПоискСтатьиФиксированногоПлатежа

    Например, в ячейку F1 макрос вводит формулу:

  =ВПР($AA$1;Пульт!$W$4:$Y$50;СТРОКА(E2);ЛОЖЬ)

    Формула оригинальна тем, что для поиска данных кода управленческого учета во втором столбце справочника в качестве третьего аргумента функции ВПР используется функция СТРОКА (рисунок 5).


Рис.5. Панель функции СТРОКА

    Функция возвращает номер строки, определяемой ссылкой, а в качестве ссылки - аргумента функции СТРОКА, может быть указана относительная ссылка на любую ячейку строки 2. При последующем копировании формулы в ячейку F2, в функции СТРОКА изменится ссылка на ячейку Е3, а, соответственно, и в функции ВПР третий аргумент поменяется на значение 3, и, следовательно, поиск информации в справочнике будет осуществляться в столбце 3.

    Для записи макроса ПоискСтатьиФиксированногоПлатежа введите в ячейку F1 формулу, и после начала записи макроса выделите ячейки F1:F2, нажмите клавишу F2, а затем Enter и остановите запись макроса, после чего отредактируйте код VBA.

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




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