Чтение онлайн

на главную - закладки

Жанры

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 (переменная)

Функция

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

Глава 12. Объектно-ориентированное программирование.

В этой главе ...

~ Концептуализация объектов

~ Понимание свойств, методов и событий - главных компонентов VBA-объектов

~ Работа с объектными моделями

~ Использование форм как объектов

~ Выяснение и установка свойств объектов

~ Вызов методов

~ Использование ссылок на объект для идентификации объекта, с которым нужно работать

~ Присваивание переменным ссылок на объект

~ Создание своих собственных объектов с помощью модулей классов

~ Эффективное использование объектов с помощью операторов For Each ... Next и With

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

Именно через объекты вы получаете доступ к функциональным возможностям того VBA приложения, в котором работаете. Точно так же вы можете получить доступ к объектам других VBA-приложений и даже создать свои собственные объекты.

Что такое объект

Можно, конечно, привести формальное определение объекта в VBA, но, я думаю, проще объяснить понятие объекта с помощью нескольких неформальных примеров, используя их функциональные возможности.

Объекты как компоненты VBA-приложений

Начать изучение объектов лучше всего с рассмотрения их как частей VBA приложения и его документов. Любой элемент графики (shape) в Visio является объектом, равно как и любая связь (connect), установленная между двумя такими элементами графики (рис. 12.1). Точно так же объектами являются и слои, на которых размещаются элементы графики, и страницы, на которых располагаются слои. Объектом будет и сам документ, содержащий все эти страницы, слои, элементы графики и связи.

Поделиться:
Популярные книги

Я уже князь. Книга XIX

Дрейк Сириус
19. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я уже князь. Книга XIX

Кодекс Охотника. Книга XVIII

Винокуров Юрий
18. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVIII

Господин из завтра. Тетралогия.

Махров Алексей
Фантастика:
альтернативная история
8.32
рейтинг книги
Господин из завтра. Тетралогия.

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Телохранитель Генсека. Том 1

Алмазный Петр
1. Медведев
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Телохранитель Генсека. Том 1

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Я князь. Книга XVIII

Дрейк Сириус
18. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я князь. Книга XVIII

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX

Личный аптекарь императора. Том 5

Карелин Сергей Витальевич
5. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
7.50
рейтинг книги
Личный аптекарь императора. Том 5

Гранит науки. Том 4

Зот Бакалавр
4. Герой Империи
Фантастика:
боевая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Гранит науки. Том 4

Кодекс Охотника. Книга XXXII

Винокуров Юрий
32. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXII

Законы Рода. Том 6

Мельник Андрей
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Хроники Тириса. Книга 3

Маханенко Василий Михайлович
3. Хроники Тириса
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
5.00
рейтинг книги
Хроники Тириса. Книга 3

Маленькая женщина Большого

Зайцева Мария
5. Наша
Любовные романы:
эро литература
современные любовные романы
5.00
рейтинг книги
Маленькая женщина Большого