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

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

Жанры

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). Точно так же объектами являются и слои, на которых размещаются элементы графики, и страницы, на которых располагаются слои. Объектом будет и сам документ, содержащий все эти страницы, слои, элементы графики и связи.

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

Огненный князь 2

Машуков Тимур
2. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 2

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

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

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

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Курсант: Назад в СССР 7

Дамиров Рафаэль
7. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 7

Последняя Арена 7

Греков Сергей
7. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 7

Александр Агренев. Трилогия

Кулаков Алексей Иванович
Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Александр Агренев. Трилогия

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Эфир. Терра 13. #2

Скабер Артемий
2. Совет Видящих
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эфир. Терра 13. #2

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Не грози Дубровскому! Том Х

Панарин Антон
10. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том Х

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III