Tipp 11.1 - Kreditzinsen berechnen

Wie kann ich die Zinsen für einen aufzunehmenden Kredit ausrechnen?

In Excel gibt es die wunderschöne Funktion RMZ die o.g. schnell für Sie erledigt. In VBA findet Sie ein Pendant zur RMZ Funktion, die finanzmathematische Funktion Ipmt. Dieser Funktion können Sie folgende Parameter mitgeben:

  • rate: Den Zinssatz pro Zeitraum
  • per: einen konkreten Zahlungszeitraum
  • nper: Die Gesamtanzahl der Zahlungsräume
  • pv: Die Kreditsumme
  • fv: Endstand des Kredits (optional, standardmäßig 0)
  • type: Die Fälligkeit der Zahlung (optional standardmäßig 0 = Ende des Zahlungszeitraums bzw. 1 = Beginn des Zahlungszeitraumes).

Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Beispiel:

' Diverses
Public Function CalcZinsen(ByVal pcKredit As Currency, _
                           ByVal pdZinssatz As Double, _
                           ByVal plRaten As Long, _
                           ByVal pbWann As meZahlung, _
                           Optional ByVal pcEndWert As Currency) _
                           As Currency
  '// =====================================================
  '// Methode   | Berechnet die Gesamtzinsen eines Kredites
  '// -----------------------------------------------------
  '// Parameter | pcKredit   Currency  - Kreditbetrag
  '               pdZinssatz Double    - jährl. Zinsatz
  '               plRaten    Long      - Anzahl. mtl. Raten
  '               pbWann     meZahlung - siehe Enum
  '               pcEndWert  pcEndWert - Endwer optional
  '                                      standm. 0
  '// -----------------------------------------------------
  '// Rückgabe  | Currency - Gesamt Zinsen
  '// -----------------------------------------------------
  '// Erstellt  | Stefan Kulpa
  '//           | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  '// Beispielaufruf:
  '// BerechneZinsen
  '// =====================================================
 
 
  Dim lCount As Long
  Dim cZinszahlung As Currency
  Dim cGesamtzinsen As Currency
 
  On Error GoTo CalcZinsen_Error
 
  pdZinssatz = pdZinssatz / 100
 
  For lCount = 1 To plRaten
    cZinszahlung = IPmt(pdZinssatz / 12, lCount, _
                        plRaten, -pcKredit, -pcEndWert, pbWann)
    cGesamtzinsen = cGesamtzinsen + cZinszahlung
  Next lCount
 
  CalcZinsen = cGesamtzinsen
 
CalcZinsen_Exit:
  On Error GoTo 0
  Exit Function
 
CalcZinsen_Error:
  MsgBox "Fehler " & Err.Number & ": " & _
         Err.Description, vbCritical, _
         "modTipps.CalcZinsen"
 
  Resume CalcZinsen_Exit
 
End Function
Beispielaufruf

Beispiel:

'
Public Sub BerechneZinsen()
 
  Dim cKredit As Currency
  Dim dZins As Double
  Dim lRaten As Long
  Dim cZinsen As Currency
 
  On Error GoTo BerechneZinsen_Error
 
  ' Der Kreditbetrag
  cKredit = 10000
  ' Der jährliche Zinsatz
  dZins = 8.5
  ' Die monatlichen Ratenanzahl
  lRaten = 36
 
  cZinsen = CalcZinsen(cKredit, dZins, lRaten, eMontasende, 100)
 
  Debug.Print "Für den Kredit: " & _
              Format$(cKredit, "Currency") & _
              " bezahlen Sie insgesamt " & _
              Format$(cZinsen, "Currency") & " Zinsen!"
  Debug.Print "Die monatliche Rate beträgt: "; _
              Format$((cZinsen + cKredit) / lRaten, _
                      "Currency")
 
BerechneZinsen_Exit:
  On Error GoTo 0
  Exit Sub
 
BerechneZinsen_Error:
  MsgBox "Fehler " & Err.Number & ": " & _
         Err.Description, vbCritical, _
         "modTipps.BerechneZinsen"
  Resume BerechneZinsen_Exit
 
End Sub

Um die Gesamtsumme der Zinsen zu errechnen, müssen Sie die Funktion in einer Schleife für jeden einzelnen Zahlungszeitraum Ihres Kredites aufrufen. Unser Beispiel kapselt dieses Verhalten.