Работа с графикой Adobe Illustrator AutoCAD графический редактор Начертательная геометрия Практикум по черчению ЕСКД Инженерная графика Нанесение размеров Аксонометрические проекции Полиграфия Подготовка к изданию Деталирование чертежей Сборочный чертеж Эскизы Выполнение графических работ Резьбы, резьбовые изделия На главную

Модуль расчета налога по основному месту работы

С целью минимизации созданной таблицы предполагаем, что нам необходимо определить только сумму удерживаемого налога. Поэтому расчет суммы к выплате, производящийся в ячейках В21 и В24, можно не принимать во внимание.

Пользуясь методом вложения формул, из таблицы, приведенной на рис. 8.9, создадим модуль расчета налога. Прежде чем приступить к этой работе, нужно учесть, что результаты расчетов в ячейках В12 "Начислен совокупный доход", В18 "Анализ суммы стандартного вычета"" и В25 "Выход таблицы" будут учитываться в расчетах следующих периодов.

Формулы, находящиеся в ячейках В13:В17, вложим в формулу в ячейке В17, а формулы из ячеек В19, В20, В22 и В23 - в ячейку В25. Затем строки 13:17 и 19:24 можно будет удалить. После удаления данных строк ячейки В18 и В25 с формулами переместятся вверх и поменяют адреса на В13 и В14. Полученные в результате вложения формулы показаны на рис. 8.12.

Рис. 8.12. Вертикально ориентированный модуль расчета налога

В ячейке В13 находится следующая формула:

=ЕСЛИ(В6="Н";0;ЕСЛИ(В7="С";ЕСЛИ(В2+В12>20000;
ЕСЛИ(ЕСЛИ(В8="Ч";3000*В5;0)+ЕСЛИ(В8="Г";500*В5;0)>0;
ЕСЛИ(В8="Ч";3000*В5;0)+ЕСЛИ(В8="Г";500*В5;0);В4);
МАКС(ЕСЛИ(В8="Ч";3000*В5;0);ЕСЛИ(В8="Г";500*В5;0);
ЕСЛИ(В2+В12<20000;
ЕСЛИ(В8="В";400*В5;0);0))+ЕСЛИ(В2+В12<20000 ;
ЕСЛИ(В9="Д";300*В5*В11*ЕСЛИ(В10 = "O";2;1);0);0));0))

а в ячейке В14:

=ЕСЛИ((ЕСЛИ(В6-"Н";ОКРУГЛ(((В12+В2)-В13)*30%;0);
ОКРУГЛ(((В12+В2)-В13)*13%;0))-В3)<0;0;
ЕСЛИ((ЕСЛИ(В6="Н";ОКРУГЛ(((В12+В2)-В13)*30%;0);
ОКРУГЛ(((В12+В2)-В13)*13%;0))-В3)В12*50% (ЕСЛИ(В6="Н";
ОКРУГЛ(((В12+В2)-В13)*30%;0);
ОКРУГЛ(((В12+В2)-В13)*13%;0))-ВЗ);
ОКРУГЛ(В12/2;0)))

Для преобразования вертикального модуля в горизонтальный скопируйте в буфер область В2:В14, в которой расположен модуль, и, выделив, к примеру, ячейку А17, вызовите команду Правка/Специальная вставка. В диалоговом окне Специальная вставка отметьте опцию Транспонировать и нажмите кнопку ОК. Модуль будет расположен в области А17:М17 (рис. 8.13).

Рис. 8.13. Горизонтально ориентированный модуль расчета налога

Основы VBA

Уважаемый читатель, позвольте перед столь нелегким делом, как почти исчерпывающее описание языка VBA с нашей стороны и кропотливое его изучение — с вашей, сделать небольшое философское отступление на тему: "Что такое язык?" Надеемся, что оно будет способствовать не только пониманию структуры данной главы, но и более глубокому пониманию самого языка Visual Basic for Applications (VBA) как такового. Итак, что же такое язык?

Язык — это знаковая система, предназначенная для хранения и передачи информации. Причем в данном случае, не умаляя общности, можно говорить о том, что не имеет значения, естественный это язык или язык программирования (а может, математический или язык жестов).

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

Посмотреть толкование слова в словарях: электронные он-лайн словари;