/ / Калкулатор за заем в Excel VBA

Калкулатор за заем в Excel VBA

Тази страница ви учи как да създадете проста кредитен калкулатор в Excel VBA, Работният лист съдържа следните контроли на ActiveX: две ленти за превъртане и два бутона за избор.

Калкулатор за заем в Excel VBA

Забележка: Инструкциите по-долу не ви научават как да форматирате работния лист. Предполагаме, че знаете как да промените типовете шрифтове, да вмъквате редове и колони, да добавяте граници, да променяте цветовете на фона и т.н.

Изпълнете следните стъпки, за да създадете калкулатора за заем:

1. Добавете двата контрола на лентата за превъртане. Кликнете върху Вмъкване от раздела Програмист и след това върху Скрол бар в секцията ActiveX Controls.

Създаване на ленти за превъртане

2. Добавете двата бутона за избор. Кликнете върху Вмъкване от раздела Програмист и след това върху бутона Опции в секцията ActiveX Controls.

Създаване на бутони за опции

Променете следните свойства на контролите на лентата за превъртане (уверете се, че е избран режим на проектиране).

3. Щракнете с десния бутон на мишката върху първия контролен панел за превъртане, след което щракнете върху Properties (Свойства). Настройте Min до 0, Макс до 20, SmallChange до 0 и LargeChange до 2.

4. Кликнете с десния бутон на мишката върху втория контролен панел за превъртане и след това кликнете върху Properties (Свойства). Настройте Min до 5, Макс до 30, SmallChange до 1, LargeChange до 5 и LinkedCell към F8.

Обяснение: когато кликнете върху стрелката, стойността на лентата за превъртане се увеличава или намалява с SmallChange. Когато кликнете между плъзгача и стрелката, стойността на лентата за превъртане се увеличава или намалява с LargeChange.

Създайте събитие за промяна на работен лист. Кодът, добавен към събитието за промяна на работен лист, ще бъде изпълнен от Excel VBA, когато промените клетка в работен лист.

5. Отворете редактора на Visual Basic.

6. Кликнете два пъти върху Sheet1 (Sheet1) в Project Explorer.

7. Изберете Работен лист от левия падащ списък и изберете Промяна от десния падащ списък.

Работен лист Промяна събитие в Excel VBA

8. Променящото се събитие на работен лист се вслушва в всички промени в Лист1. Искаме само Excel VBA да стартира подменюто Calculate if something changes в клетка D4. За да постигнете това, добавете следния кодов ред към събитието за смяна на работен лист (повече за изчисляването по-късно).

If Target.Address = "$D$4" Then Application.Run "Calculate"

9. Вземете правилния процент в клетката F6 (променете формата на клетката F6 на процент). Щракнете с десния бутон на мишката върху първия контролен панел за превъртане и след това върху View Code. Добавете следните кодови редове:

Private Sub ScrollBar1_Change()

Range("F6").Value = ScrollBar1.Value / 100
Application.Run "Calculate"

End Sub

10. Кликнете с десния бутон на мишката върху втория контролен панел на превъртане и след това кликнете върху Преглед на кода. Добавете следния код:

Private Sub ScrollBar2_Change()

Application.Run "Calculate"

End Sub

11. Кликнете с десния бутон на мишката върху първия бутон за избор на бутон и след това кликнете върху Преглед на кода. Добавете следния код:

Private Sub OptionButton1_Click()

If OptionButton1.Value = True Then Range("C12").Value = "Monthly Payment"
Application.Run "Calculate"

End Sub

12. Кликнете с десния бутон на мишката върху втория бутон за избор на бутон и след това кликнете върху Преглед на кода. Добавете следния код:

Private Sub OptionButton2_Click()

If OptionButton2.Value = True Then Range("C12").Value = "Yearly Payment"
Application.Run "Calculate"

End Sub

13. Време е да създадете под. Можете да прегледате нашата функция и под-глава, за да научите повече за субсидиите. Ако бързате, просто поставете подменюто "Изчисляване" в модул (В редактора на Visual Basic щракнете върху Вмъкване, Модул).

Sub Calculate()

Dim loan As Long, rate As Double, nper As Integer

loan = Range("D4").Value
rate = Range("F6").Value
nper = Range("F8").Value

If Sheet1.OptionButton1.Value = True Then
    rate = rate / 12
    nper = nper * 12
End If

Range("D12").Value = -1 * WorksheetFunction.Pmt(rate, nper, loan)

End Sub

Обяснение: подменят получава правилните параметри за функцията на работния лист Pmt. Функцията Pmt в Excel изчислява плащанията за заем въз основа на постоянни плащания и постоянен лихвен процент. Ако извършвате месечни плащания (Sheet1.OptionButton1.Value = True), Excel VBA използва процент / 12 за курс и nper * 12 за nper (общ брой плащания). Резултатът е отрицателен, тъй като плащанията се считат за дебитни. Умножаването на резултата с -1 дава положителен резултат.

Резултат от кредитния калкулатор

Също така се чете: