Использование Visual Basic for Applications в автоматизации банковских операций
Функции и основная роль коммерческого банка. Особенности кредитных и депозитных операций. Описание среды программирования и сущность Visual Basic for Applications (VBA). Схема алгоритма программы, процедура сохранения файла и выхода из программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 04.04.2012 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Белорусский национальный технический университет
Факультет информационных технологий и робототехники
Кафедра робототехнических систем
КУРСОВОЙ ПРОЕКТ
по дисциплине
”Технологии банковских операций”
Тема: Использование Visual Basic for Applications в автоматизации банковских операций
Исполнитель: студентка группы 107718
Трухан Д.С.
Руководитель проекта: Дербан Д.Н.
Минск 2010
Оглавление
- Введение 3
- 1.1 Коммерческий банк и его структура 4
- 1.2 Функции коммерческого банка 4
- 1.3 Основная роль коммерческого банка 6
- 2. Основные виды банковских операций 7
- 2.1 Кредитные операции 7
- 2.2 Депозитные операции 10
- 3. Описание среды программирования: 13
- 3.1 Язык программирования VBA 13
- 4. Постановка задачи 15
- 5. Расчет кредитных и депозитных операций с использованием VBA 16
- 5.1 Схема алгоритма выполнения программы 16
- 5.1.1 Подпрограмма расчёта кредита 17
- 5.1.2 Подпрограмма расчёта депозита. 21
- 5.2 Процедура сохранения файла 25
- 5.3 Процедура выхода из программы. 26
- Заключение 27
- Использованная литратура 28
- Приложение 1 29
- Приложение 2 43
- Введение
- КОММЕРЧЕСКИЕ БАНКИ - крупные негосударственные кредитные учреждения, осуществляющие универсальные банковские операции для предприятий, организаций, граждан (расчетные, платежные операции, привлечение вкладов, предоставление ссуд, а также операции на рынке ценных бумаг). Денежные средства для проведения операций такие банки формируют главным образом за счет сбережений, привлеченных в виде вкладов, межбанковских кредитов, выпуска собственных акций и облигаций.
1.1 Коммерческий банк и его структура
Коммерческим банком является учреждение, осуществляющее на договорных условиях кредитно-расчетное и иное банковское обслуживание юридических лиц и граждан путем совершения операций и оказания услуг. Коммерческие банки действуют на основании лицензий на совершение банковских операций, получаемых от центрального банка.
Коммерческие банки различаются:
1. По принадлежности уставного капитала и способу его формирования и могут создаваться и существовать в форме акционерных обществ или обществ с ограниченной ответственностью с участием иностранного капитала, иностранных банков. Закон не исключает и другие способы формирования уставного капитала коммерческого банка.
2. По видам совершаемых операций коммерческие банки делятся на универсальные и региональные банки.
3. У многих коммерческих банков ярко выражена отраслевая ориентация.
Структура коммерческого банка
Коммерческий банк для обеспечения своей деятельности должен располагать определенной суммой денежных средств. Ресурсы коммерческого банка представляют собой совокупность собственных, привлеченных и заемных средств. Основным источником ресурсов коммерческого банка являются привлеченные ресурсы, которые составляют около 85% всех банковских ресурсов.
1.2 Функции коммерческого банка
Одной из важных функций коммерческого банка является посредничество в кредите, которое они осуществляют путем перераспределения денежных средств, временно высвобождающихся в процессе кругооборота фондов предприятий и денежных доходов частных лиц. Особенность посреднической функции коммерческих банков состоит в том, что главным критерием перераспределения ресурсов выступает прибыльность их использования заемщиком. Перераспределение ресурсов осуществляется по горизонтали хозяйственных связей от кредитора к заемщику, при посредстве банков без участия промежуточных звеньев в лице вышестоящих банковских структур, на условиях платности и возвратности. Плата за отданные и полученные взаймы средства формируется под влиянием спроса и предложения заемных средств. В результате достигается свободное перемещение финансовых ресурсов в хозяйстве, соответствующее рыночному типу отношений.
Вторая важнейшая функция коммерческих банков - стимулирование накоплений в хозяйстве. Коммерческие банки, выступая на финансовом рынке со спросом на кредитные ресурсы, должны не только максимально мобилизовать имеющиеся в хозяйстве сбережения, но и формировать достаточно эффективные стимулы к накоплению средств. Стимулы к накоплению и сбережению денежных средств формируются на основе гибкой депозитной политики коммерческих банков. Помимо высоких процентов, выплачиваемых по вкладам, кредиторам банка необходимы высокие гарантии надежности помещения накопленных ресурсов в банк. Созданию гарантий служит формирование фонда страхования активов банковских учреждений, депозитов в коммерческих банках.
Третья функция банков - посредничество в платежах между отдельными самостоятельными субъектами.
В связи с формированием фондового рынка получает развитие и такая функция банков, как посредничество в операциях с ценными бумагами. Банки имеют право выступать в качестве инвестиционных институтов, которые могут осуществлять деятельность на рынке ценных бумаг в качестве посредника; инвестиционного консультанта; инвестиционной компании и инвестиционного фонда. Выступая в качестве финансового брокера, банки выполняют посреднические функции при купле-продаже ценных бумаг за счет и по поручению клиента на основании договора комиссии или поручения.
1.3 Основная роль коммерческого банка
Банковская система сегодня - одна из важнейших и неотъемлемых структур рыночной экономики. Развитие банков и товарного производства и обращения исторически шло параллельно и тесно переплеталось. При этом банки, выступая посредниками в перераспределении капиталов, существенно повышают общую эффективность производства.
Коммерческие банки относятся к особой категории деловых предприятий, получивших название финансовых посредников. Они привлекают капиталы, сбережения населения и другие денежные средства, высвобождающиеся в процессе хозяйственной деятельности, и предоставляют их во временное пользование другим экономическим агентам, которые нуждаются в дополнительном капитале. Банки создают на новые требования и обязательства, которые становятся товаром на денежном рынке. Так, принимая вклады клиентов, коммерческий банк создает новое обязательство - депозит, а выдавая ссуду - новое требование к заемщику. Этот процесс создания новых обязательств составляет сущность финансового посредничества. Эта трансформация позволяет преодолеть сложности прямого контакта сберегателей и заемщиков, возникающие из-за несовпадения предлагаемых и требуемых сумм, их сроков, доходности, и т.д.
2. Основные виды банковских операций
2.1 Кредитные операции
Банковский кредит -- денежная ссуда, выдаваемая банком на определённый срок на условиях возвратности и оплаты кредитного процента.
Банковские кредиты классифицируются по ряду признаков:
а) По сроку погашения:
· онкольные
· краткосрочные
· среднесрочные
· долгосрочные
б) По способу погашения:
· погашаемые одной суммой в конце срока
· погашаемые равными долями через равные промежутки времени
· погашаемые неравными долями через различные промежутки времени
· сложный кредит (с выплатой от 20 до 50 % суммы кредита в конце срока)
· прогрессивный кредит (с прогрессивно нарастающими к концу срока действия кредитного договора выплатами)
· сезонный кредит (кредит для сезонных производств с выплатами только в те месяцы, на которые приходятся максимальные суммы выручки)
в) По способу взимания ссудного процента:
· плата в момент погашения ссуды
· плата равномерными взносами в течение всего срока действия кредитного договора
· оплата в момент выдачи кредита
г) По целевому назначению:
· связанные (целевые) ссуды
· на финансирование производственных затрат, то есть на формирование запасов товарно-материальных ценностей
· финансирование текущих производственных затрат
· финансирование инвестиционных затрат, включая кредиты на лизинговые и т. п. операции (промежуточные)
· потребительские кредиты
· ссуды общего характера (нецелевые, несвязанные)
д) По форме предоставления кредита:
· ссуды в безналичной форме:
· зачисление безналичных денег на соответствующий счет заёмщика, в том числе реструктуризация ранее выданного кредита и предоставление нового;
· кредитование с использованием векселей банка;
· в смешанной форме (сочетание 2-х предыдущих вариантов)
· ссуды в налично-денежной форме (как правило, физическим лицам)
Для классификации кредитов на те или иные группы и виды могут использоваться и другие критерии.
Банковские кредиты подразделяются на активные и пассивные. В первом случае банк выдает кредит, то есть выступает кредитором, во втором берёт кредит, то есть является заёмщиком. Банк может входить в кредитные отношения (брать или давать кредиты) и с другими банками (иными кредитными организациями), выполняя в зависимости от ситуации активную или пассивную функцию. Такие отношения называются межбанковским кредитованием. Что касается кредитования предприятий, организаций, учреждений и физических лиц (нефинансовый сектор экономики), то кредитные отношения банка с ними имеют другой характер -- он практически всегда является кредитором.
Безусловными принципами банковского кредитования являются:
1. Принцип срочности означает, что кредит даётся на однозначно определённый срок.
2. Принцип возвратности предполагает, что в определённый договором срок вся сумма кредита должна быть возвращена полностью.
3. Принцип платности подразумевает, что за право пользования кредитом заёмщик должен заплатить оговоренную сумму процентов.
4. Принцип подчинения кредитной сделки нормам законодательства и банковским правилам.
5. Принцип неизменности условий кредитования. То есть изменение условий кредитного договора (соглашения) должно производиться в соответствии с правилами, сформулированными в самом кредитном договоре либо в специальном приложении к нему.
Требования к процессу выдачи кредитов
Банк разрабатывает и утверждает внутренние документы, определяющие его кредитную политику, а также учётную политику и подходы к её реализации, а также документы, определяющие процедуры принятия решений о размещении банком денежных средств, распределение функций и полномочий между подразделениями и должностными лицами банка, включающие внутренние правила размещения средств, в том числе правила кредитования клиентов.
Выдача кредита в зависимости от типа клиента может быть осуществлена в следующем порядке:
· юридическим лицам -- в безналичной форме путем зачисления средств на расчётный, текущий или корреспондентский счёт;
· физическим лицам -- в безналичной форме путем зачисления средств на счёт лица в банке либо наличными через кассу банка;
· кредиты в иностранных валютах выдаются юридическим и физическим лицам только в безналичной форме.
Кредит выдаётся на основании распоряжения, надлежащим образом составленного специалистами кредитного подразделения банка и подписанного уполномоченным должностным лицом банка. Банк-кредитор обязан создавать резервы на возможные потери по ссудам (РВПС) от кредитной деятельности.
В установленный в кредитном договоре день (день уплаты процентов и/или погашения основного долга) работник бухгалтерии, ответственный за ведение счёта заёмщика, на основании соответствующего распоряжения, подписанного уполномоченным должностным лицом банка, либо оформляет бухгалтерскими проводками факт уплаты процентов и/или погашения основного долга, либо (при неисполнении или ненадлежащем исполнении клиентом своих обязательств по договору) переносит возникшую задолженность клиента на счета учёта просроченной задолженности.
Задолженность по кредитам, безнадежная и/или признанная нереальной для взыскания, в установленном порядке списывается с баланса банка за счет средств специально формируемых на такой случай резервов, а при недостатке таких средств относится на убытки отчётного года.
2.2 Депозитные операции
Депозит (банковский вклад) -- сумма денег, помещённая вкладчиком в банк на определённый или неопределённый срок. Банк пускает эти деньги в оборот, а в обмен выплачивает вкладчику проценты. Депозит является долгом банка перед вкладчиком, то есть, подлежит возврату.
В периоды нормального развития экономики банковский вклад является одной из наименее выгодных и наименее рискованных форм вложения денег и может служить в качестве минимального ориентира в расчётах.
Депозит до востребования -- депозит без указания срока хранения, который возвращается по первому требованию вкладчика. Обычно по сберегательным вкладам начисляются проценты по ставкам ниже соответствующих для срочных депозитов. Депозитом до востребования могут по соглашению с банком или по законам отдельных государств являться средства на чековом счёте в банке.
Срочный депозит -- депозит под проценты, внесённый на определенный срок и изымаемый полностью по истечении обусловленного срока. Срочные депозиты менее ликвидны, чем сберегательные вклады до востребования, но приносят более высокий процент дохода.
Также возможны различные конструкции вклада: депозит с возможностью пополнения, частичного изъятия. Обычная закономерность: чем больше срок вклада, тем выше его доходность. При размещении крупных сумм рекомендуется разбивать их на несколько депозитов -- в случае необходимости можно будет изъять только часть средств, сохранив доходность по остальным, однако при этом банк может предложить меньший доход.
Объектами депозитных операций являются суммы денежных средств, которые субъекты депозитных операций вносят в банк и которые в силу действующего порядка осуществления банковских операций на определенное время сосредотачиваются на счетах в банке.
Исходя из категории вкладчиков, различают следующие виды депозитов:
· Депозиты юридических лиц (предприятий, организаций, других банков);
· Депозиты физических лиц.
· По своему экономическому содержанию депозиты принято подразделять на З группы:
· срочные депозиты (с их разновидностью - депозитными сертификатами);
· депозиты до востребования;
· условные депозиты (договором может быть предусмотрено внесение вкладов на заранее оговоренных условиях их возврата, не противоречащих закону).
В банковской практике наиболее распространены вклады до востребования, т.е. выдача вклада производится по первому требованию вкладчика, и срочный вклад - возврат вклада осуществляется по истечении определенного договором срока.
3. Описание среды программирования
3.1 Язык программирования VBA
Visual Basic for Applications (VBA) -- немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макроязыков, таких как WordBasic. Может использоваться для управления приложением (меню, панели инструментов, формы пользователя, диалоговые окна и т.д.). VBA может также использоваться для создания импорта и экспорта различных форматов файлов.
VBA является интерпретируемым языком. Как и следует из его названия, VBA близок к Visual Basic, но может выполняться лишь в рамках приложения, в которое он встроен. Кроме того, он может использоваться для управления одним приложением из другого, с помощью OLE Automation (например, таким образом можно создать документ Word на основе данных из Excel).
VBA функционально богат и чрезвычайно гибок, но имеет ряд ограничений, включая ограниченную поддержку указателей на функции (используются в Windows API). Имеется возможность использовать (но не создавать) библиотеки DLL.
VBA -- транслируемый язык. Это означает, что его команды сначала преобразуются к исполняемой форме. Контейнеры VBA (Access, Excel, Word) могут сохранять оттранслированную программу в скрытой форме в исходном документе (чтобы не требовалась перекомпиляция). Исполнение кода происходит в виртуальной машине (как в языке Java), что зачастую ошибочно называют интерпретацией. Несмотря на его схожесть со многими старыми диалектами BASIC (особенно MS BASIC), VBA не совместим с ними кроме Microsoft Visual Basic до версии 6 и не совместим с VB.NET.
Чтобы использовать VBA с приложениями (Access, Excel, Word) необходимо использовать соответствующую терминологию и языковые конструкции. Это так называемая «объектная модель приложения». Карта объектной модели является сетевой для Excel, Word. Новичку использование объектной модели может составлять значительную трудность.
Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов.
Как любой язык программирования макросы VBA могут быть созданы с злым умыслом. Для защиты были введены опции приложения. Пользователь по своему усмотрению может либо исполнять макроопределения VBA или не исполнять.
В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) -- инструментарий расширения функциональности приложений, основанный на Microsoft.NET.
4. Постановка задачи
Разработать программу для автоматического расчета кредитных и депозитных операций при помощи Visual Basic for Applications. Программа должна предусматривать возможность выбора пользователем один из видов платежа (аннуитетный или диффиринцированный) для кредитных операций, а также возможность выбора типа процентов (простые или сложные) для депозитных операций. При ее разработке учесть следующие параметры:
Кредитная операция |
Депозитная операция |
|||||||
Срок кредитования |
Срок депозитной операции |
|||||||
от 1 до 3 лет |
от 3 до 5 лет |
от 5 до 40 |
первоначальный взнос от суммы кредита в % |
до 2 лет |
до 5 лет |
до 10 |
минимальная сумма для депозитной операции |
|
12 |
10 |
7 |
50 |
5 |
6 |
8 |
250 |
Кроме того, разработанная программа должна автоматически рассчитывать все выходные данные кредитных и депозитных операций и строить диаграммы по полученным данным. Пользователь должен иметь возможность сохранить рабочую книгу под удобным для него именем.
5. Расчет кредитных и депозитных операций с использованием VBA
5.1 Схема алгоритма выполнения программы
При запуске программы появляется окно выбора «расчёт кредитов и депозитов» или «о программе».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис.5.1. Схема алгоритма выполнения программы
5.1.1 Подпрограмма расчёта кредита
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.1.1. Схема подпрограммы расчёта кредита (общий вид) (листинг данной подпрограммы в приложении 1, рис.1 в приложении 2, пример №2 )
При запуске данной подпрограммы проверяется правильность вводимых данных и определяется процентная ставка кредита. Далее очищаются все ячейки рабочего листа, затем ячейки заполняются первоначальной информацией, устанавливается их формат и ширина столбцов. В зависимости от выбранного пользователем маркера производится переход на процедуру расчета дифференцированного или аннуитентного кредита.
После вычисления кредитов все полученные данные выводятся в рабочую книгу, а также строится график по вычисленным данным.
Подпрограмма расчета кредитов дифференцированным методом
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.1.1.1. Схема алгоритма подпрограммы расчета кредитов дифференцированным методом (листинг данной подпрограммы в приложении 1, рис.3 в приложении 2, пример №2)
При запуске данной процедуры производится расчет кредита дифференциальным методом: расчет выплаты по основному долгу, выплаты по процентам, и всего долга. После вычисления кредитов подпрограмма возвращается к процедуре вывода итогов и построения графиков.
Подпрограмма расчета кредитов аннуитентным методом
Рис. 5.1.1. Схема алгоритма подпрограммы расчета кредитов аннуитентным методом (листинг данной подпрограммы в приложении 1, рис.4 в приложении 2, пример №2)
При запуске данной процедуры производится расчет кредита аннуитентным методом: расчет выплаты по основному долгу, выплаты по процентам, и всего долга. После вычисления кредитов подпрограмма возвращается к процедуре вывода итогов и построения графиков.
5.1.2 Подпрограмма расчёта депозита
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.1.2. Схема алгоритма подпрограммы расчета депозитов (листинг данной подпрограммы в приложении 1, рис.2 в приложении 2, пример №1)
При запуске данной подпрограммы проверяется правильность вводимых данных, определяется процентная ставка депозита и минимальная сумма депозита. Далее очищаются все ячейки рабочего листа, затем ячейки заполняются первоначальной информацией, устанавливается их формат и ширина столбцов. В зависимости от выбранного пользователем маркера производится переход на процедуру расчета депозита по простому или сложному проценту.
После вычисления депозита все полученные данные выводятся в рабочую книгу, а также строится график по вычисленным данным.
Подпрограмма расчёта депозита по простому проценту
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.1.2.1. Схема алгоритма подпрограммы расчета депозита по простому проценту (листинг данной подпрограммы в приложении 1, рис.5 в приложении 2, пример №1)
При запуске данной процедуры производится расчет депозита по простому проценту. После вычисления депозита подпрограмма возвращается к процедуре вывода итогов и построения графиков.
Подпрограмма расчёта депозита по сложному проценту
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.1.2.2. Схема алгоритма подпрограммы расчета депозита по сложному проценту (листинг данной подпрограммы в приложении 1, рис.8 в приложении 2, пример №1)
При запуске данной процедуры производится расчет депозита по сложному проценту. После вычисления депозита подпрограмма возвращается к процедуре вывода итогов и построения графиков.
5.2 Процедура сохранения файла
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.2. Схема алгоритма процедуры сохранения файла (листинг данной подпрограммы в приложении 1, рис.6 в приложении 2, пример №1)
Процедура сохраняет файл с пользовательским именем. При отмене сохранения запускает программу ввода данных для операций с кредитом и депозитом.
5.3 Процедура выхода из программы
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5.3. Схема алгоритма процедуры выхода из программы. (листинг данной подпрограммы в приложении 1, рис.3 в приложении 2, пример №1)
Процедура запускается при нажатии кнопки «Выход», после чего появляется запрос у пользователя на подтверждение выхода. При положительном ответе происходит закрытие рабочей книги, при отрицательном - процедура завершается.
Заключение
В данной курсовой мы ознакомились с использованием Basic for Applications в автоматизации банковских операций. Также освоили следующие теоритические вопросы:
1. Структура банка
2. Виды банковских операций
3. Среда MS Excel для автоматизации расчётов и анализа данных
Написали программу для расчета кредитных операций (для аннуитентных и дифференцированных платежей) и депозитных операций с учетом ежемесячной капитализации процента.
Благодаря выполнению курсовой были получены знания о Visual Basic for Applications, также было осуществлено знакомство с программированием в среде Microsoft Excel.
программирование алгоритм коммерческий банк
Использованная литратура
1. С. Роман, «Использование макросов в Excel» - М.,2004г.
2. Е. Нагина, В. Ищенко, «Visual Basic for Applications. Практика» - Воронеж, 2009г.
3. Интернет-ресурсы:
www.glossary.ru
www.combanks.ru
www.rusipoteka.ru
www.ipohelp.ru
www.fidelity-credit.ru
www.superwork.org
www.globalteka.ru
4. Конспект лекций
5. Методические пособия по VBA
Приложение 1
Листинг программы
(UserForm1)
Option Explicit
Dim SaveName, Sv, Ex, Op, save 'объявление переменых
Dim Sum As Double ' сумма кредита
Dim Sum1, Sum2, Sum3 As Double ' сумма по осн. долгу, процентам и общая сумма
Dim Ps As Double 'процентная ставка
Dim plat As Double ' ежемесячная плата
Dim osn As Double ' плата по основному долгу
Dim proc As Double ' плата по процентам
Dim ostatok As Double ' остаток задолженности
Dim i As Integer
Dim Sroc As Integer ' срок кредитовани/депозита
Const Zagl As String = "Кредитные и депозитные операции"
Подпрограмма расчёта кредита:
Private Sub RaschetCR_Click()
If sumkr.Value = "" Then ' показать ошибку, если не введена сумма кредита
MsgBox "Введите сумму кредита",,Zagl
Exit Sub
End If
If srokkr.Value = "" Then ' показать ошибку, если не введена сумма кредита
MsgBox "Введите срок кредитования",,Zagl
Exit Sub
End If
If IsNumeric(sumkr.Value) = False Then ' показать ошибку, если неправильно введена сумма кредита
MsgBox "Неправильно введена сумма кредита",,Zagl
Exit Sub
End If
If IsNumeric(srokkr.Value) = False Then ' показать ошибку, если неправильно введен срок кредитования
MsgBox "Неправильно введен срок кредитования",,Zagl
Exit Sub
End If
' присвоение переменным значений, вводимых пользователем
Sum = CDbl(sumkr.Value)
Sroc = CInt(srokkr.Value)
' проверка на правильность ввода срока кредитования
If Sroc < 1 Then
MsgBox "Минимальный срок кредитования - 1 год"
Exit Sub
End If
If Sroc > 40 Then
MsgBox "Максимальный срок кредитования - 40 лет"
Exit Sub
End If
' приcваивание процентной ставки в зависимости от срока кредитования
If Sroc >= 1 And Sroc <= 3 Then Ps = 0.1
If Sroc > 3 And Sroc <= 5 Then Ps = 0.09
If Sroc > 5 Then Ps = 0.08
Cells.Clear ' очистка ячеек
' вывод подсказки для запуска программы
Range("C2").Value = "Запуск программы:" ' определение свойств ячеек; ввод значений
Range("D2").Value = "Ctrl+Z"
Range("A1").Value = "Ф.И.О. клиента:"
Range("A2").Value = "Тип операции "
Range("A3").Value = "Тип платежа:"
Range("A4").Value = "Сумма кредита, руб:"
Range("A5").Value = "Срок кредитования, лет:"
Range("A6").Value = "Процентная ставка:"
Range("A7").Value = "Первоначальный взнос, %:"
Range("A8").Value = "Первоначальный взнос, руб:"
Range("A10:D10").Font.Bold = True
Range("A10").Value = "№ месяца"
Range("B10").Value = "Оплата по основному долгу, руб"
Range("C10").Value = "Оплата по процентам, руб"
Range("D10").Value = "Ежемесячные платежи, руб"
Range("E9").Value = "Итого:"
Range("E9").Font.Bold = True
Range("F9").Value = "Плата по основному долгу"
Range("G9").Value = "Плата по процентам"
Range("H9").Value = "Общая плата:"
Range("B1").NumberFormat = "general" ' определение формата ячеек
Range("B2").NumberFormat = "Кредит"
Range("B3").NumberFormat = "general" 'общий
Range("B4").NumberFormat = "0.00$" 'денежный
Range("B5").NumberFormat = "0год(а)"
Range("B6").NumberFormat = "0.00%"
Range("B7").NumberFormat = "0.00%"
Range("B8").NumberFormat = "0.00$"
Range("B10:D500").NumberFormat = "0.00$"
Range("E10:H10").NumberFormat = "0.00$"
Columns("A:D").ColumnWidth = 30 ' определение ширины колонок
Columns("E").ColumnWidth = 10
Columns("F:H").ColumnWidth = 25
Range("B1").Value = FIO ' ввод исходных значений в рабочий лист
Range("B2").Value = "Кредит"
Range("B4").Value = Sum
Range("B5").Value = Sroc
Range("B6").Value = Ps
Range("B7").Value = 0.5
Range("B8").Value = Sum * 0.5
Sum = Sum - Sum * 0.5
' обнуление переменных
ostatok = 0
osn = 0
proc = 0
plat = 0
Sum1 = 0
Sum2 = 0
Sum3 = 0
' рассчет кредита дифференцированным методом
If difkr.Value = True Then
Call differen_kr
End If
' рассчет кредитов аннуитентным методом
If ankr.Value = True Then
Call annyitent_kr
End If
' вывод итогов
Range("F10").Value = Sum1
Range("G10").Value = Sum2
Range("H10").Value = Sum3
Call кредит
UserForm1.Hide
Sheets("Кредит").Activate
MsgBox ActiveChart.Name
End Sub
Подпрограмма расчета кредитов дифференцированным методом:
Sub differen_kr()
' рассчет кредита дифференцированным методом
Range("B3").Value = "Дифференцированный"
osn = Sum / (12 * Sroc)
' расчет выплаты по основному долгу, выплаты по процентам, и всего долга
For i = 1 To Sroc * 12
ostatok = Sum - (i - 1) * osn
proc = ostatok * Ps / 12
plat = proc + osn
Sum1 = Sum1 + osn
Sum2 = Sum2 + proc
Sum3 = Sum3 + plat
Cells(i + 10, 1).Value = i
Cells(i + 10, 2).Value = osn
Cells(i + 10, 3).Value = proc
Cells(i + 10, 4).Value = plat
Next i
End Sub
Подпрограмма расчета кредитов аннуитентным методом:
Sub annyitent_kr()
' рассчет кредитов аннуитентным методом
Range("B3").Value = "Аннуитентный"
plat = (Sum * Ps / 12) / (1 - (1 + Ps / 12) ^ (-Sroc * 12))
' расчет выплаты по основному долгу, выплаты по процентам, и всего долга
For i = 1 To Sroc * 12
ostatok = Sum - Sum1
proc = ostatok * Ps / 12
osn = plat - proc
Sum1 = Sum1 + osn
Sum2 = Sum2 + proc
Sum3 = Sum3 + plat
Cells(i + 10, 1).Value = i
Cells(i + 10, 2).Value = osn
Cells(i + 10, 3).Value = proc
Cells(i + 10, 4).Value = plat
Next i
End Sub
Подпрограмма расчёта депозита:
Private Sub RaschetDEP_Click()
If sumdep.Value = "" Then ' показать ошибку, если не введена сумма депозита
MsgBox "Введите сумму депозита",,Zagl
Exit Sub
End If
If srokdep.Value = "" Then ' показать ошибку, если не введена сумма депозита
MsgBox "Введите срок депозита",,Zagl
Exit Sub
End If
If IsNumeric(sumdep.Value) = False Then ' показать ошибку, если неправильно введена сумма депозита
MsgBox "Неправильно введена сумма депозита",,Zagl
Exit Sub
End If
If IsNumeric(srokdep.Value) = False Then ' показать ошибку, если неправильно введен срок депозита
MsgBox "Неправильно введен срок депозита",,Zagl
Exit Sub
End If
' присвоение переменным значений, вводимых пользователем
Sum = CDbl(sumdep.Value)
Sroc = CInt(srokdep.Value)
' проверка на правильность ввода срока депозита
If Sroc < 1 Then
MsgBox "Минимальный срок депозита - 1 месяц"
Exit Sub
End If
If Sroc > 120 Then
MsgBox "Максимальный срок депозита - 10 лет"
Exit Sub
End If
' приcваивание процентной ставки в зависимости от срока депозита
If Sroc >= 1 And Sroc <= 24 Then Ps = 0.05
If Sroc > 24 And Sroc <= 60 Then Ps = 0.06
If Sroc > 60 Then Ps = 0.08
' проверка вводимой суммы депозита
If Sum < 250 Then
MsgBox "Минимальная сумма депозита - 250 рублей"
Exit Sub
End If
Cells.Clear ' очистка ячеек
' вывод подсказки для запуска программы
Range("C2").Value = "Запуск программы:" ' определение свойств ячеек; ввод значений
Range("D2").Value = "Ctrl+Z"
Range("A1").Value = "Ф.И.О. клиента:"
Range("A2").Value = "Тип операции: "
Range("A3").Value = "Метод расчета:"
Range("A4").Value = "Сумма депозита, руб:"
Range("A5").Value = "Срок депозита, мес:"
Range("A6").Value = "Процентная ставка:"
Range("A7").Value = "Минимальная сумма:, руб:"
Range("A10").Value = "№ месяца"
Range("B10").Value = "Основной депозит, руб"
Range("C10").Value = "Проценты, руб"
Range("D10").Value = "Сумма, руб"
Range("B1").NumberFormat = "general" ' определение формата ячеек
Range("B2").NumberFormat = "general"
Range("B4").NumberFormat = "0.00$"
Range("B5").NumberFormat = "0мес"
Range("B6").NumberFormat = "0.00%"
Range("B7").NumberFormat = "0.00$"
Range("A10:D10").Font.Bold = True
Range("B9:D140").NumberFormat = "0.00$"
Range("E11:H11").NumberFormat = "0.00$"
Columns("A:D").ColumnWidth = 25 ' определение ширины колонок
Columns("E").ColumnWidth = 10
Columns("F:H").ColumnWidth = 15
Range("B1").Value = FIO ' ввод исходных значений в рабочий лист
Range("B2").Value = "Депозит"
Range("B3").Value = "Простой процент"
Range("B4").Value = Sum
Range("B5").Value = Sroc
Range("B6").Value = Ps
Range("B7").Value = 250
' обнуление переменных
osn = 0
proc = 0
plat = 0
Sum1 = 0
'рассчет депозита
'расчёт простого процента
If prostpr.Value = True Then
Call prostoi_pr
End If
'расчёт сложного процента
If slozhpr.Value = True Then
Call slozhniu_pr
End If
' вывод итогов
Range("e7:h9").NumberFormat = "#,##0.00$"
Range("e7").Value = "Итого:"
Range("e7").Font.Bold = True
Range("f8").Value = "Депозит"
Range("g8").Value = "Проценты"
Range("h8").Value = "Всего"
Range("f9").Value = osn
Range("g9").Value = Sum1
Range("h9").Value = Sum1 + osn
Call депозит
UserForm1.Hide
Sheets("Депозит").Activate ' активизация диаграммы
MsgBox ActiveChart.Name
End Sub
Подпрограмма расчёта депозита по простому проценту:
Sub prostoi_pr()
'расчёт простого процента
proc = Sum * Ps / 12
osn = Sum
For i = 1 To Sroc
Sum1 = proc * i
plat = osn + Sum1
Cells(i + 10, 1).Value = i
Cells(i + 10, 2).Value = osn
Cells(i + 10, 3).Value = Sum1
Cells(i + 10, 4).Value = plat
Next i
End Sub
Подпрограмма расчёта депозита по сложному проценту:
Sub slozhniu_pr()
'расчёт сложного процента
proc = Sum * Ps / 12
osn = Sum
For i = 1 To Sroc
Sum1 = proc * i
osn = Sum * i
plat = osn + Sum1
Cells(i + 10, 1).Value = i
Cells(i + 10, 2).Value = osn
Cells(i + 10, 3).Value = Sum1
Cells(i + 10, 4).Value = plat
Next i
End Sub
Private Sub CommandButton3_Click() ' переход к окну запуска
Unload UserForm1
UserForm2.Show
End Sub
Sub кредит()
'
' кредит Макрос
'построение графиков
'
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range(Sheets("Лист1").Cells(10, 2), Sheets("Лист1").Cells(Sroc * 12 + 9, 4))
ActiveChart.ChartType = xlLine
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Кредит"
Sheets("Кредит").Select
End Sub
Sub депозит()
'
' депозит Макрос
'построение графиков
'
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range(Sheets("Лист1").Cells(10, 2), Sheets("Лист1").Cells(Sroc + 9, 4))
ActiveChart.ChartType = xlLine
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Депозит"
Sheets("Депозит").Select
End Sub
Private Sub CommandButton4_Click()
' запрос у пользователя на подтверждение выхода
Ex = MsgBox("Вы действительно хотите выйти?", vbYesNo + vbQuestion, Zagl)
If Ex = vbNo Then Exit Sub
Application.DisplayAlerts = False
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
(UserForm4)
Процедура сохранения файла
Private Sub CommandButton1_Click()
'Сохранение
SaveName = Application.GetSaveAsFilename(InitialFileName:=Range("B1"))
If SaveName = False Then GoTo Vihod
ActiveWorkbook.SaveAs Filename:=SaveName & "xls"
Vihod:
End Sub
Private Sub CommandButton2_Click() ' удаление графиков
Application.DisplayAlerts = False
ActiveWorkbook.Charts.Delete
Application.DisplayAlerts = True
Unload UserForm4
UserForm1.Show
End Sub
Приложение 2
Пример работы программы
Пример №1.При запуске рабочей книги открывается окно выбора «расчёт банковских операций» или «о программе»:
Рис.1
При выборе «расчёт банковских операций» далее запускается форма для ввода данных:
Рис.2
При нажатии кнопки «Выход», при подтверждении выхода закрывается рабочая книга, при отмене - возврат к программе
Рис.3
Для расчета банковской операции выбирается соответствующая вкладка, нужный тип платежа и вводятся требуемы данные. Для примера, выберем депозит, простой процент. Введём данные:
Ф.И.О. клиента - Иванов Иван
Сумма депозита - 250000
Срок депозита - 10
Метод расчёта - Простой процент
После нажатия кнопки «Рассчитать», выводятся в книгу полученные данные и график на отдельном листе.
Рис.4
При выборе вкладки «Депозит» выводится график по рассчитанным данным депозита.
Рис.5
При нажатии кнопки «Сохранить» на Листе1, сохраняется книга с данными под пользовательским именем.
Рис.6
При нажатии кнопки «Запуск программы» на Листе1, появляется диалоговое окно возврата в основную программу, при выборе положительного ответа, сохраняется книга с данными под пользовательским именем, при отрицательном ответе - переход к программе, при отмене - возврат к книге.
Рис.7
Пример графика сложного процента при этих же данных:
Рис.8
Пример №2 .Пример расчёта кредита
Рис. 1
Рис. 2
Рис. 3
Пример графика аннуитентного кредита при этих же данных:
Рис. 4
Размещено на Allbest.ru
Подобные документы
Структура и основные операции коммерческого банка. Использование языка программирования Visual Basic for Application, математическая формулировка задачи. Разработка модуля программы расчёта кредитов и депозитов. Схема алгоритма выполнения программы.
курсовая работа [2,9 M], добавлен 09.04.2012Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.
реферат [20,7 K], добавлен 11.03.2010Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.
контрольная работа [25,2 K], добавлен 07.06.2010Сумма двух разреженных полиномов, заданных ненулевыми коэффициентами и их номерами. Разработка программ на языке программирования Visual Basic for Applications. Вывод справочной информации. Операционная система Windows. Хранение двоичных данных.
научная работа [390,2 K], добавлен 09.03.2009Разработка программы "Виселица" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования: программные требования, описание алгоритма, блок-схема программы и дополнительной процедуры. Листинг программы.
курсовая работа [188,2 K], добавлен 28.06.2009Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.
контрольная работа [36,4 K], добавлен 23.07.2014Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011Теория тестирования. Тест как система заданий и его эффективности. Качество тестовых заданий. Проверка качества тестовых заданий. Матрица результатов. Современный подход к понятию "трудность". Visual Basic for Applications (VBA). Объектные модели.
дипломная работа [198,9 K], добавлен 10.11.2008Назначение и основные функции Ехсе1. Причины возникновения ошибок и способы их решения в Ехсе1. Язык программирования Visual Basic for Applications (VBA): общая характеристика языка. Основные понятия информационной безопасности, способы ее нарушения.
шпаргалка [201,2 K], добавлен 26.02.2010Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.
лабораторная работа [1,1 M], добавлен 10.12.2014