/ / Lånekalkulator i Excel VBA

Lånekalkulator i Excel VBA

Denne siden lærer deg hvordan du lager en enkel lånekalkulator i Excel VBA. Regnearket inneholder følgende ActiveX-kontroller: to rullestenger og to valgknapper.

Lånekalkulator i Excel VBA

Merk: instruksjonene nedenfor lærer deg ikke hvordan du skal formatere regnearket. Vi antar at du vet hvordan du endrer skrifttyper, setter inn rader og kolonner, legger til grenser, endrer bakgrunnsfarger etc.

Utfør følgende trinn for å opprette låne kalkulatoren:

1. Legg til de to rulleknappene. Klikk på Sett inn fra Utvikler-fanen og klikk deretter på Rullestang i delen ActiveX-kontroller.

Lag rullefelt

2. Legg til de to alternativknappene. Klikk på Sett inn fra Utvikler-fanen og klikk deretter på Alternativknappen i delen ActiveX-kontroller.

Opprett alternativknapper

Endre følgende egenskaper på rulleknappens kontroller (pass på at designmodus er valgt).

3. Høyreklikk på den første rullekontrollen, og klikk deretter på Egenskaper. Angi Min til 0, Maks til 20, SmåVari til 0 og StortVari til 2.

4. Høyreklikk på den andre rullekontrollen, og klikk deretter på Egenskaper. Angi Min til 5, Maks til 30, Liten Gjenta til 1, Stor Endre til 5, og LinkedCell til F8.

Forklaring: Når du klikker på pilen, går rulleverdien opp eller ned av SmallChange. Når du klikker mellom glidebryteren og pilen, går rulleverdien opp eller ned av LargeChange.

Opprett et regnearkendringshendelse. Kode som er lagt til i regnearkets endringshendelse, blir utført av Excel VBA når du endrer en celle på et regneark.

5. Åpne Visual Basic Editor.

6. Dobbeltklikk på Sheet1 (Sheet1) i Project Explorer.

7. Velg Arbeidsark fra rullegardinlisten til venstre, og velg Endre fra høyre rullegardinliste.

Regneark Endre Hendelse i Excel VBA

8. Regnearkendringshendelsen lytter til alle endringene på Ark1. Vi vil bare at Excel VBA skal kjøre Beregn-sub hvis noe endres i celle D4. For å oppnå dette legger du til følgende kodelinje i regnearkendringshendelsen (mer om beregningsunderdelen senere).

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

9. Få riktig prosentandel i celle F6 (endre formatet til celle F6 til prosentandel). Høyreklikk på den første rullekontrollen, og klikk deretter Vis kode. Legg til følgende kodelinjer:

Private Sub ScrollBar1_Change()

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

End Sub

10. Høyreklikk på den andre rullekontrollen, og klikk deretter Vis kode. Legg til følgende kodelinje:

Private Sub ScrollBar2_Change()

Application.Run "Calculate"

End Sub

11. Høyre museklikk på den første valgknappen kontrollen, og klikk deretter Vis kode. Legg til følgende kodelinje:

Private Sub OptionButton1_Click()

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

End Sub

12. Høyre museklikk på den andre valgknappkontrollen, og klikk deretter Vis kode. Legg til følgende kodelinje:

Private Sub OptionButton2_Click()

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

End Sub

13. Tid til å lage sub. Du kan gå gjennom vårt funksjons- og underkapittel for å lære mer om subs. Hvis du har det travelt, plasserer du bare undernavnet Beregn til en modul (I Visual Basic Editor klikker du Insert Insert, Module).

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

Forklaring: suben får de riktige parameterne for regnearkfunksjonen Pmt. Pmt-funksjonen i Excel beregner betalingen for et lån basert på konstante utbetalinger og en fast rente. Hvis du foretar månedlige innbetalinger (Sheet1.OptionButton1.Value = True), bruker Excel VBA rate / 12 for rate og nper * 12 for nper (totalt antall betalinger). Resultatet er et negativt tall, fordi betalinger betraktes som en debet. Multiplikasjon av resultatet med -1 gir et positivt resultat.

Lånekalkulator Resultat

Les også: