Учет дохода и расчет налога за год по месту работы
Создадим более удобную для расчетов горизонтально ориентированную таблицу, которая производит учет доходов по одному месту работы и расчет удерживаемого налога (рис. 8.14). Она будет состоять из трех блоков:
- таблица ввода (область А1:В6);
- таблица ввода зарплаты (область А8:С22);
- таблица модулей расчета налога (область E8:Q20).

Рис. 8.14. Таблица учета доходов и расчета налога за год с учетом стандартных налоговых вычетов
Таблица ввода создается путем копирования области А6:А11 таблицы расчета налога (рис. 9.18). Данные в области В1:В6 будут изменяться для каждого налогоплательщика, в зависимости от его прав на стандартные вычеты.
Для создания таблицы, которая состоит из модулей, производящих расчет налога, необходимо скопировать в буфер обмена горизонтальный модуль расчета налога (диапазон E9:Q9) и, выделив ячейку В9 (рис. 8.14), произвести вставку. Модуль расположится в области E9:Q9. Дальнейшие действия по настройке модуля для расчета налогов за год аналогичны действиям по созданию предыдущей таблицы (рис. 8.11).
В ячейку Н9 введите значение 1. В ячейку 19 введите ссылку:
=$B$1
Аналогичные ссылки на соответствующие ячейки таблицы ввода поместите в другие ячейки диапазона J9:N9.
В ячейке О9 задайте ссылку на ячейку В9 (=$В9), а в ячейке С9 - ссылку на ячейку Q9.
Скопируйте область E9:Q9 и, переместив табличный курсор в ячейку Е10, произведите вставку из буфера обмена.
В ячейку Е10 введите следующую формулу:
=Е9+O9
а в ячейку F10 - формулу
=F9+Q9
В ячейку G10 поместите ссылку =Р9, а в ячейку Н10 - формулу
=Н9+1
Измененный диапазон E10:Q10 скопируйте в буфер обмена и произведите вставку в диапазон E.11:Q20. В результате при вводе начисленного дохода в область В9:В20 в области С9:С20 будет отображаться ежемесячная сумма налога, рассчитанная по заявленным стандартным вычетам, введенным в область А1:В6.
Общие положения
Любая модель, определенная в VBA, состоит из классов, каждый из которых представляет собой отдельный объект или семейство объектов. Объектов в Office, да и в Outlook достаточно много, но во всех приложениях участвует объект Application, представляющий само приложение. Application — это корневой класс Outlook, в который вложены все остштьные объекты, именно этот первый уровень вложенности мы и будем рассматривать.
Глядя на схему объектной модели, можно определить, какие объекты описывают работу приложения, как они связаны между собой и как составить ссылку для доступа к конкретному объекту. Как вы помните, VBA наряду с наследованием поддерживает встраивание объектов, таким образом, чтобы составить ссылку на объект, нужно проследить путь в иерархии объектов, начиная с объекта Application на первом уровне иерархии до целевого объекта, и записать последовательность имен, находящихся на пути объектов или семейств, отделяя их друг от друга точкой. При этом для семейств, кроме имени, необходимо указать в скобках индекс или имя элемента, т. е. задать конкретный объект в семействе.