Рис. 99а. Разработанная форма примера 51 в рабочем состоянии
Рис. 99б. Вывод информации на лист excel после нажатия кнопки «Закончить»
5. Произведем резентацию формы, т. е. создадим кнопку запуска формы непосредственно на листе Excel, так как запускать форму на выполнение каждый раз из редактора VBA не очень красиво и неудобно для пользователя. Для простоты использования формы поступим следующим образом: установим на рабочем листе Excel со списком группы кнопку «Диалог», нажатие которой будет приводить к появлению разработанной формы (диалогового окна). Для этого:
1) выберите в главном меню Microsoft Excel <Сервис> <Макрос><Макросы…>;
2) укажите имя макроса, например Макрос1, и нажмите <Создать>. После этого загрузится редактор VBA с заготовкой
Sub Макрос1()
End Sub
3) вставьте в эту заготовку оператор UserForm1.Show, активизирующий созданную форму;
4) далее выберите в главном меню книги Excel <Вид><Панели инструментов><Формы>. Появится панель с элементами управления. Выберите <Кнопка>, после чего можно нарисовать кнопку на рабочем листе Excel;
5) после этого сразу появляется диалоговое окно «Назначить макрос объекту». Выберите Макрос1;
6) чтобы название кнопки было более содержательным, щелкните на ней правой клавишей мыши. В появившемся рядом меню выберите <Изменить текст>. После этого установите текст «Диалог».
Теперь при нажатии кнопки «Диалог» на рабочем листе появится разработанное диалоговое окно примера.
7.3. Финансовые функции
VBA предоставляет ряд встроенных функций, которые можно использовать для выполнения финансовых расчетов. Они разбиты на три основные группы: функции учета амортизации, функции учета отчислений и функции учета денежных потоков. Мы рассмотрим одну их этих групп – функции учета амортизации. Эти функции используются в бухгалтерском деле для предоставления в денежном выражении обесценивания основных средств за определенный период времени. Например, фирме, являющейся владельцем грузового автомобиля, необходимо рассчитать сумму ежегодной амортизации грузовика для вычисления текущей стоимости грузовика в любой момент времени. Поскольку амортизация влияет на размер налогов, правительство часто устанавливает обязательные формулы, которые следует применять для расчета амортизации.
Под амортизацией понимают уменьшение стоимости имущества (основных средств) в процессе эксплуатации. Обычно оценивают величину этого уменьшения, приходящуюся на единицу времени. В финансовый пакет VBA включены три функции для расчетов амортизации (табл. 21).
Функция SLN вычисляет амортизацию (снижение стоимости) за один период времени, используя метод равномерной амортизации. Ее вызов имеет вид:
SLN(
Пусть компьютер стоимостью 6000 руб. имеет срок эксплуатации 5 лет, после чего его стоимость оценивается в 1500 руб. Тогда его ежегодная амортизация составит (при равномерном методе оценки): SLN (6000,1500, 5) = 900 руб.
Функция SYD используется для расчета годовой амортизации по линейному методу. Сумма долей амортизации в этом методе определяется как сумма номеров лет эксплуатации:
1+2+…+ life = life(life+1)/2,
а доля амортизации за i-й год пропорциональна количеству лет (life – i +1), оставшихся до конца периода эксплуатации. Синтаксис этой функции:
SYD(
При расчете предыдущего примера получим за первый год эксплуатации компьютера амортизацию
SYD(6000,1500,5,1)= 1500 руб.
а за последний год —
SYD(6000,1500,5,5)= 300 руб.
Функция DDB вычисляет величину амортизации имущества для заданного периода с применением метода двукратного (или k-кратного) учета амортизации. В этом методе амортизация максимальна в первый период и снижается в последующие периоды.
Синтаксис:
DDB(cost,
Параметр
Функция
Если нужно использовать другой метод вычисления амортизации, измените значение коэффициента.
В примере с компьютером по методу двукратной амортизации она составит:
за первый год: DDB(6000,1500, 5,1) = 2400 руб.;
за второй – 1440 руб.;
за третий – 660 руб.;
а за четвертый и пятый будет равна 0.
Все пять аргументов должны быть положительными числами.
Microsoft Excel автоматически предполагает, что коэффициент равен 2.