Книга: VBA для чайников

Финансовые функции

Финансовые функции

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

Используйте функцию Pmt для расчета сумм, которые предстоит выплачивать вам (или которые должны выплачивать вам) по закладной с фиксированными процентами или какому либо другому займу. Вот формальный синтаксис функции Pmt:

Pmt(ставка, кпер, сумма[, цель[, тип]])

Первый аргумент, ставка, задает ставку процента выплат по займу за определенный период времени. Задаваемая вами ставка процента должна соответствовать периодичности выплат. Если нужно выплачивать ежемесячно по 8%-ной закладной, то не забудьте, что 8% является годовой нормой. В таком случае ставка должна задаваться выражением типа .08/12 (8% разделенные на 12 месяцев).

Аргумент кпер должен задаваться целым значением, представляющим общее число выплат, которые предстоит сделать по займу. Для ежемесячных выплат в течение 5 лет кпер должно быть равно 5 * 12, или 60. Общая сумма займа задается аргументом сумма.

Остальные аргументы необязательны. Чтобы рассчитать, сколько вам нужно откладывать, чтобы накопить определенную сумму, задайте аргумент цель, чтобы передать функции Pmt запланированную сумму в виде отрицательного числа- это сумма на будущее. (При этом аргумент ставка задает ожидаемую ставку процента. Если некоторая часть из целевой суммы уже накоплена, эта часть должна задаваться аргументом сумма.) Аргумент тип позволяет указать, когда должны проводиться выплаты - в конце каждого периода (задается значением 0 и подразумевается по умолчанию) или в начале (значение 1).

Чтобы использовать функцию Pmt в программном коде, присвойте ее значение переменной типа Double. Например:

dblPay = Pmt (.08/12, 360, 300000) ' Типичная закладная

dblSav = Pmt (07/12, 120, 12500, -75000) ' Цель = 75000р.

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

Таблица 11.8. Финансовые функции VBA

Функция

Возвращаемое значение

DDB(стоимость, остаток, период)

Амортизация имущества за данный период, используя метод двойного процента со снижающегося остатка

FV(ставка, кпер, плата, сумма)

Будущее значение вклада на основе периодических постоянных платежей и постоянной процентной ставки

Impt(ставка, период, кпер, сумма)

Величина выплаты за указанный период на основе периодических постоянных платежей и постоянной процентной ставки

IRR(значения())

Внутренняя скорость оборота для ряда последовательных операций с наличными, представленными числовыми значениями

MIRR(значения(), фин_ставка, реинвест_ставка)

Модифицированная внутренняя скорость оборота средств для ряда последовательных периодических операций с наличными

Nper(ставка, платеж, сумма)

Общее количество периодов выплаты для данного вклада на основе периодических постоянных выплат и постоянной процентной ставки

NPV(ставка, значения())

Чистый текущий объем вклада, используя учетную ставку, а также объемы будущих платежей (отрицательные значения) и поступлений (положительные значения)

Pmt(ставка, кпер, сумма)

Величина выплаты по ссуде на основе постоянных выплат и постоянной процентной ставки

PPmt ()

Платежи по процентам за данный период на основе периодических постоянных выплат и постоянной процентной ставки

РУ(ставка, кпер, плата)

Текущий объем вклада на основе периодических постоянных платежей и постоянной процентной ставки

Rate(кпер, плата, сумма)

Процентная ставка за один период при выплате ренты

SLN(стоимость, остаток, период)

Величина непосредственной амортизации имущества за один период

SYD(стоимость, остаток, жизнь, период)

Годовая амортизация имущества для указанного периода

Даже после всех приведенных выше таблиц и обсуждений, обзор встроенных команд VBA остается далеко не полным. Некоторые из команд будут обсуждаться в следующих главах, но эту главу я завершу еще одной таблицей с множеством команд, которые вполне могут вам пригодиться.

Таблица 11.9. Различные встроенные команды VBA

При задании аргументов не забывайте заключать буквальные значения таких параметров, как путь, в кавычки.

Имя

Функция или оператор

Выполняемые действия (для операторов) и возвращаемые значения (для функций)

Работа с файлами

ChDir (путь)

Оператор

Изменяет текущий каталог (папку), но не активный диск

ChDrive(имя диска)

Оператор

Изменяет активный диск

CurDir

Функция

Текущий путь (диск и имя каталога) в виде строки

Dir(путь)

Функция

Имя первого файла или каталога, соответствующего аргументу путь, который может содержать подстановочные символы

FileCopy источник, цель

Оператор

Копирует дисковый файл источник В цель (может включать путь, имя файла или и то, и другое)

FileDateTime(путь)

Функция

Значение типа Date с датой и временем создания или последнего изменения файла, заданного аргументом путь

FileLen(путь)

Функция

Длина (в байтах) файла заданного аргументом путь

GetAttr(путь)

Функция

Целое значение, представляющее атрибуты файла или папки, заданных аргументом путь

Kill путь

Оператор

Удаляет один или больше файлов с диска (аргумент путь может содержать подстановочные символы)

MkDir путь

Оператор

Создает новый каталог

Name старый путь As новый путь

Оператор

Переименовывает и/или перемещает дисковый файл, каталог или папку

RmDir путь

Оператор

Удаляет каталог

SetAttr путь, атрибуты

Оператор

Устанавливает заданные атрибуты дисковому файлу. Аргумент атрибуты задает числовое значение, являющееся суммой устанавливаемых атрибутов. VBA обеспечивает именованные константы для каждого из атрибутов

Разное

AppActivate название, ожидание

Оператор

Активизирует другое выполняемое приложение. Если необязательный аргумент ожидание имеет значение True, то VBA будет ждать, пока ваша программа не получит фокус ввода

Beep

Оператор

Извлекает звук с помощью громкоговорителя компьютера

Choose(индекс, вариант1, вариант2,

... варианты )

Функция

Значение объекта из списка аргументов вариант1, вариант2, ... варианты, определяемого аргументом индекс (индекс должен задавать число)

DoEvents

Функция

Позволяет Windows обрабатывать другие события, пока выполняется ваша программа. В VBA эта функция всегда возвращает 0, поэтому нет необходимости приписывать ее значение переменной - используйте ее как оператор

Environ (строка) Environ (число)

Функции

Содержимое переменной окружения, заданной строкой с именем или числом, определяющим позицию

RGB(красный, зеленый, синий)

Функция

Целое число, представляющее RGB-значение цвета, заданного компонентами красный, зеленый, синий (используйте это значение для установки цветовых свойств объектов)

Randomize

Оператор

Инициализирует генератор случайных чисел

Rnd(число)

Функция

Случайное значение; аргумент число необязателен

SendKeys строка, ожидание

Оператор

Пересылает заданную строкой последовательность символов в активное окно, как будто эти символы введены с клавиатуры. Если необязательный аргумент ожидание имеет значение True, то выполнение программы не продолжится, пока последовательность символов не будет обработана

Работа с реестром Windows

Shell (путь)

Функция

Пытается выполнить программу, заданную аргументом путь. В случае успеха возвращает число, представляющее идентификатор программы, в противном случае возвращает 0

DeleteSetting Оператор имя_приложения, раздел, параметр

Удаляет элемент реестра

Get All Settings (имя_приложения, раздел)

Функция

Значение типа Variant, содержащее список всех установок для указанного раздела приложения в реестре Windows (в виде двумерного массива)

Get Setting (имя_приложения, раздел, параметр)

Функция

Значение параметра из указанного раздела приложения в реестре Windows

SaveSetting имя_приложения, раздел, параметр, значение

Оператор

Сохраняет значение в реестре

Форматирование вывода

Spc(число)

Функция

Не возвращает никаких полезных значений, используется для размещения указанного числа пробелов в потоке вывода оператора Print # или метода Debug.Print

Tab(столбец)

Функция

Не возвращает никаких полезных значений, смещает поток вывода оператора Print # или метода Debug.

Работа с переменными

IsDate (переменная)

IsNumeric(переменная)

IsObject(переменная)

IsArray(переменная)

IsNull(переменная)

IsEmpty(переменная)

Функции

True, если переменная имеет соответствующий тип или содержит значение соответствующего типа; иначе False

Len (переменная)

Функция

Число байтов, необходимое для хранения информации, помещенной в переменную

TypeName (переменная)

Функция

Строка, представляющая тип переменной

VarType (переменная)

Функция

Целое число, представляющее подчиненный тип переменной

Оглавление книги

Оглавление статьи/книги

Генерация: 0.696. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз