Разработка программы для автоматического расчета кредитных и депозитных операций при помощи 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