Aizdevuma kalkulators programmā Excel VBA
Šī lapa māca, kā izveidot vienkāršu aizdevumu kalkulators in Excel VBA. Darblapā ir šādas ActiveX vadīklas: divas ritjoslas un divas opcijas pogas.

Piezīme. Turpmāk sniegtie norādījumi nepiedāvā, kā formatēt darblapu. Mēs pieņemam, ka jūs zināt, kā mainīt fontu tipus, ievietot rindas un kolonnas, pievienot robežas, mainīt fona krāsas utt.
Veiciet šādas darbības, lai izveidotu aizdevuma kalkulatoru:
1. Pievienojiet divas ritjoslas vadīklas. Noklikšķiniet uz Insert (Ievietot) no cilnes Developer (Izstrādātājs) un pēc tam noklikšķiniet uz Ritjosla sadaļā ActiveX Controls (ActiveX Controls).

2. Pievienojiet divu iespēju pogas. Noklikšķiniet uz Ievietot no cilnes Izstrādātājs un pēc tam noklikšķiniet uz opcijas pogas sadaļā ActiveX vadīklas.

Mainiet šīm rullīšu vadības elementu īpašībām (pārliecinieties, ka ir izvēlēts Dizaina režīms).
3. Ar peles labo pogu noklikšķiniet uz pirmās ritjoslas vadības un pēc tam noklikšķiniet uz Properties (Rekvizīti). Iestatiet Min līdz 0, Max līdz 20, SmallChange līdz 0 un LargeChange to 2.
4. Ar peles labo pogu noklikšķiniet uz otrās ritjoslas vadības paneļa un pēc tam noklikšķiniet uz Properties (Rekvizīti). Iestatīt Min līdz 5, Maksimālais skaits līdz 30, SmallChange to 1, LargeChange to 5 un LinkedCell to F8.
Paskaidrojums: kad jūs noklikšķiniet uz bultiņas, ritjoslas vērtība paaugstinās vai samazina, izmantojot SmallChange. Noklikšķinot starp slīdni un bultiņu, ritjoslas vērtība palielinās vai samazina, izmantojot LargeChange.
Izveidot darblapas maiņas notikumu. Kodu, kas pievienots darblapas izmaiņu notikumam, izpildīs Excel VBA, ja maināt šūnu darblapā.
5. Atveriet Visual Basic Editor.
6. Projekta Explorer divreiz noklikšķiniet uz Sheet1 (Sheet1).
7. Izvēlieties darblapu no kreisā nolaižamā saraksta un labajā nolaižamajā sarakstā izvēlieties Mainīt.

8 Darblapu maiņas notikums dzird visas izmaiņas lapā Sheet1. Mēs tikai vēlamies, lai Excel VBA palaist aprēķināt apakšgrupu, ja kaut kas mainās šūnā D4. Lai to panāktu, pievienojiet darblapas izmaiņu notikumam šādu koda rindiņu (plašāk par Aprēķina apakšdaļu vēlāk).
9. Iegūstiet pareizo procentuālo daļu šūnā F6 (nomainiet šūnas F6 formātu procentos). Ar peles labo pogu noklikšķiniet uz pirmās ritjoslas vadības un pēc tam noklikšķiniet uz Skatīt kodu. Pievienojiet šādas koda līnijas:
Range("F6").Value = ScrollBar1.Value / 100
Application.Run "Calculate"
End Sub
10. Ar peles labo pogu noklikšķiniet uz otras rullīšu vadības pogas un pēc tam noklikšķiniet uz Skatīt kodu. Pievienojiet šādu koda rindiņu:
Application.Run "Calculate"
End Sub
11. Ar peles labo pogu noklikšķiniet uz pirmās opcijas pogas vadības un pēc tam noklikšķiniet uz Skatīt kodu. Pievienojiet šādu koda rindiņu:
If OptionButton1.Value = True Then Range("C12").Value = "Monthly Payment"
Application.Run "Calculate"
End Sub
12. Ar peles labo pogu noklikšķiniet uz otras opcijas pogas vadības un pēc tam noklikšķiniet uz Skatīt kodu. Pievienojiet šādu koda rindiņu:
If OptionButton2.Value = True Then Range("C12").Value = "Yearly Payment"
Application.Run "Calculate"
End Sub
13. Laiks, lai izveidotu apakšprogrammu. Lai uzzinātu vairāk par sadaļu, varat iziet sadaļu "Funkcija" un "Apakšnodaļa". Ja esat steidzies, vienkārši ievietojiet apzīmējumu "Aprēķināt" modulī (Visual Basic Editor noklikšķiniet uz Ievietot, modulis).
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
Paskaidrojums: apakšizvēlne saņem pareizos parametrus darblapas funkcijai Pmt. Excel funkcija Pmt aprēķina aizdevuma maksājumus, pamatojoties uz nemainīgiem maksājumiem un pastāvīgu procentu likmi. Ja veicat ikmēneša maksājumus (Sheet1.OptionButton1.Value = True), Excel VBA izmanto likmi / 12 likmei un nper * 12 par nper (kopējais maksājumu skaits). Rezultāts ir negatīvs skaitlis, jo maksājumus uzskata par debetu. Rezultāta reizināšana ar -1 dod pozitīvu rezultātu.
