Разработка программы для автоматического расчета кредитных и депозитных операций при помощи Visual Basic for Applications

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ран вид платежа

If an. Value = False And dif. Value = False Then"выберите вид платежа",, Zaglav Sub

End If

ошибка, если не введена сумма кредита

If summkred. Value = "" Then"Введите сумму кредита",, Zaglav Sub

End If

ошибка, если не введена сумма кредита

If srockred. Value = "" Then

MsgBox "Введите срок кредитования",, Zaglav

Exit Sub

End If

ошибка, если неправильно введена сумма кредита

If IsNumeric (summkred. Value) = False Then "Неправильно введена сумма кредита",, Zaglav

Exit Sub

End If

ошибка, если неправильно введен срок кредитования

If IsNumeric (srockred. Value) = False Then "Неправильно введен срок кредитования",, Zaglav

Exit Sub

End If

присвоение переменным значений, вводимых пользователем

Summ = CDbl (summkred. Value)= CInt (srockred. Value)

проверка срока кредитования

If Sroc < 1 Then

MsgBox "Минимальный срок кредитования - 1 год",, Zaglav

Exit SubIfSroc > 40 Then "Максимальный срок кредитования - 40 лет",, Zaglav

Exit Sub

End If

приcваивание процентной ставки в зависимости от срока кредитования

If Sroc >= 1 And Sroc 5 Then Pz = 0.08

очистка ячеек

Cells. Clear

ввод значений

Range ("A1"). Value = "Ф. И.О. клиента: "

Range ("A2"). Value = "Тип операции: "("A3"). Value = "Тип платежа: "("A4"). Value = "Сумма кредита: " ("A5"). Value = "Срок кредитования: "

Range ("A6"). Value = "Процентная ставка: "

Range ("A7"). Value = "Первоначальный взнос (%): "

Range ("A8"). Value = "Первоначальный взнос: "

Range ("A10: D10"). Font. Bold = True("A10"). Value = "№ месяца" ("B10"). Value = "Оплата по основному долгу"

Range ("C10"). Value = "Оплата по процентам"

Range ("D10"). Value = "Ежемесячные платежи"

Range ("E10"). Value = "Итого: "("E10"). Font. Bold = True

Range ("F10"). Value = "Плата по основному долгу"

Range ("G10"). Value = "Плата по процентам"

Range ("H10"). Value = "Общая плата: "

определение формата ячеек

Range ("B1"). NumberFormat = "general"("B2"). NumberFormat = "Кредит"("B3"). NumberFormat = "general" общий("B4"). NumberFormat = "0.00$" денежный("B5"). NumberFormat = "0год (а)"("B6"). NumberFormat = "0.00%"("B7"). NumberFormat = "0.00%"("B8"). NumberFormat = "0.00$"("B11: D500"). NumberFormat = "0.00$" ("E11: H11"). NumberFormat = "0.00$"

определение ширины колонок

Columns ("A: H"). ColumnWidth = 20

ввод исходных значений в рабочий лист

Range ("B1"). Value = fio. Value("B2"). Value = "Кредит"("B4"). Value = Summ("B5"). Value = Sroc("B6"). Value = Pz("B7"). Value = 0.5("B8"). Value = Summ * 0.5= Summ - Summ * 0.5

обнуление переменных

ost = 0

osn = 0

proc = 0= 0= 0= 0= 0

рассчет кредита дифференцированным методом

If dif. Value = True Then("B3"). Value = "Дифференцированный"

osn = Summ / (12 * Sroc)

расчет выплаты по основному долгу, выплаты по процентам, и всего долга

For i = 1 To Sroc * 12= Summ - (i - 1) * osn= ost * Pz / 12= proc + osn= Sum1 + osn= Sum2 + proc= Sum3 + plat

занесение данных в таблицу

Cells (i + 10, 1). Value = i(i + 10,2). Value = osn(i + 10,3). Value = proc(i + 10,4). Value = plati

вывод итогов

Range ("F11"). Value = Sum1("G11"). Value = Sum2("H11"). Value = Sum3 If

рассчет кредитов аннуительным методом

If an. Value = True Then("B3"). Value = "Аннуитетный"= (Summ * (Pz / 12)) / (1 - (1 + Pz / 12) ^ (-Sroc * 12)) сумма ежемесечного платежа

расчет выплаты по основному долгу, выплаты по процентам, и всего долга

For i = 1 To Sroc * 12

ost = Summ - Sum1= ost * Pz / 12= plat - proc= Sum1 + osn= Sum2 + proc= Sum3 + plat

занесение данных в таблицу

Cells (i + 10, 1). Value = i(i + 10,2). Value = osn(i + 10,3). Value = proc(i + 10,4). Value = plati

вывод итогов

Range ("F11"). Value = Sum1("G11"). Value = Sum2("H11"). Value = Sum3 If

построение графика

Sheets. Add After: =Sheets (Sheets. Count). Shapes. AddChart. Select. ChartType = xlLineMarkers. SetSourceData Source: =Range (Worksheets (1). Cells (10,2), Worksheets (1). Cells (Sroc * 12 + 10,4)). SeriesCollection (1). Name = "=Лист1! $B$10". SeriesCollection (2). Name = "=Лист1! $C$10". SeriesCollection (3). Name = "=Лист1! $D$10". Location Where: =xlLocationAsNewSheet

закрывает форму 2 и открывает форму 4

UserForm2. Hide. ShowSub

процедура выхода

Private Sub vix_Click ()

запрос у пользователя на подтверждение выхода

Ex = MsgBox ("Вы действительно хотите выйти?", vbYesNo + vbQuestion, Zaglav)

If Ex = vbNo Then Exit Sub

закрытие рабочих книг

ActiveWorkbook. Close False. CloseSub

UserForm3

программа расчета депозита

Private Sub rasdep_Click () [1]

Dim Pz, Summ, Sroc As Singleosn, proc, plat, Sum1, Sum2 As Singlei As IntegerZaglav As String = "Кредитные и депозитные операции"

показать ошибку, если не введена ФИО клиента

If fio. Value = "" Then

MsgBox "Введите ФИО клиента",, Zaglav

Exit Sub

End If

показать ошибку, если не выбран вид депозита

If pr. Value = False And sl. Value = False Then"выберите вид депозита",, Zaglav Sub

End If

показать ошибку, если не введена сумма депозита

If summdep. Value = "" Then

MsgBox "Введите сумму депозита",, Zaglav

Exit Sub

End If

показать ошибку, если не введена сумма депозита

If srocdep. Value = "" Then

MsgBox "Введите срок депозита",, Zaglav

Exit Sub

End If

показать ошибку, если неправильно введена сумма депозита

If IsNumeric (summdep. Value) = False Then "Неправильно введена сумма депозита",, Zaglav

Exit Sub

End If

показать ошибку, если неправильно введен срок депозита

If IsNumeric (srocdep. Value) = False Then "Неправильно введен срок депозита",, Zaglav

Exit Sub

End If

присвоение переменным значений, вводимых пользователем

Summ = CDbl (summdep. Value)= CInt (srocdep. Value)

проверка на правильность ввода срока депозита

If Sroc < 1 Then

MsgBox "Минимальный срок депозита - 1 месяц",, Zaglav

Exit Su