Share via


Rate-Funktion

Aktualisiert: November 2007

Gibt einen Wert vom Typ Double zurück, der den Zinssatz einer Annuität pro Zeitraum angibt.

Function Rate( _
   ByVal NPer As Double, _
   ByVal Pmt As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod, _
   Optional ByVal Guess As Double = 0.1 _
) As Double

Parameter

  • NPer
    Erforderlich. Ein Wert vom Typ Double gibt die Gesamtanzahl der Zahlungszeiträume für die Annuität an. Wenn Sie beispielsweise monatliche Zahlungen für einen Autokredit mit vierjähriger Laufzeit vereinbart haben, beträgt die Summe der Zahlungszeiträume für den Kredit 4 * 12 (oder 48).

  • Pmt
    Erforderlich. Ein Wert vom Typ Double gibt die Zahlung pro Zeitraum an. Die Zahlungen enthalten in der Regel Kapital und Zinsen und ändern sich während der Laufzeit einer Annuität nicht.

  • PV
    Erforderlich. Ein Wert vom Typ Double gibt den Barwert oder heutigen Wert einer Folge zukünftiger Einnahmen oder Ausgaben an. Wenn Sie beispielsweise einen Kredit für einen Autokauf aufnehmen, stellt die Kredithöhe für den Kreditgeber den Barwert der von Ihnen zu leistenden monatlichen Zahlungen dar.

  • FV
    Optional. Ein Wert vom Typ Double gibt den Endwert oder Kontostand an, der nach der letzten Zahlung erreicht sein soll. Der Endwert eines Kredits ist z. B. 0 Euro, da dies die Kredithöhe nach der letzten Zahlung ist. Wenn Sie jedoch für die Ausbildung Ihrer Kinder 50.000 Euro in 18 Jahren ansparen möchten, entspricht der Endwert 50.000 Euro. Wird der Wert nicht angegeben, so wird 0 angenommen.

  • Due
    Optional. Ein Objekt vom Typ DueDate-Enumeration, das angibt, wann Zahlungen fällig sind. Dieses Argument muss entweder DueDate.EndOfPeriod sein, wenn die Zahlungen am Ende des Zahlungszeitraums fällig sind, oder DueDate.BegOfPeriod, wenn die Zahlungen zu Beginn des Zeitraums fällig sind. Wird der Wert nicht angegeben, so wird DueDate.EndOfPeriod angenommen.

  • Guess
    Optional. Double-Angabewert, der Ihrer Schätzung nach von Rate zurückgegeben wird. Wird der Wert nicht angegeben, so ist Guess gleich 0,1 (10 Prozent).

Ausnahmen

Ausnahmetyp

Fehlernummer

Bedingung

ArgumentException

5

NPer <= 0.

Beachten Sie die Spalte "Fehlernummer", wenn Sie Visual Basic 6.0-Anwendungen aktualisieren, die eine unstrukturierte Fehlerbehandlung verwenden. (Sie können die Fehlernummer mit der Number-Eigenschaft (Err-Objekt) vergleichen.) Wenn möglich, sollten Sie jedoch erwägen, eine solche Fehlersteuerung durch eine Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic zu ersetzen.

Hinweise

Eine Annuität ist eine Reihe von konstanten Barzahlungen über einen bestimmten Zeitraum. Eine Annuität kann ein Kredit sein (z. B. eine Eigenheimhypothek) oder eine Investition (z. B. eine regelmäßige Spareinlage).

Bei allen Argumenten werden Zahlungsausgänge (z. B. Spareinlagen) durch negative Zahlen dargestellt, Zahlungseingänge (z. B. Dividendenauszahlungen) durch positive Zahlen.

Rate wird iterativ berechnet. Wenn Guess als Startwert verwendet wird, wiederholt Rate die Berechnung so lange, bis das Ergebnis auf 0,00001 Prozent genau berechnet wurde. Wenn nach 20 Versuchen kein Ergebnis gefunden werden kann, wird Rate abgebrochen. Wenn Sie für Ihre Schätzung 10 Prozent angegeben haben und Rate kein Ergebnis ermitteln kann, versuchen Sie es mit einem anderen Wert für Guess.

Beispiel

In diesem Beispiel wird mit der Rate-Funktion der Zinssatz eines Darlehens berechnet. Gegeben sind die Gesamtzahl der Zahlungen (TotPmts), die Höhe der Darlehenszahlung (Payment), der aktuelle Wert oder Betrag des Darlehens (PVal), der zukünftige Wert des Darlehens (FVal), eine Zahl, die die Fälligkeit der Zahlung am Anfang oder Ende des Zahlungszeitraums angibt (PayType) und ein Schätzwert des erwarteten Zinssatzes (Guess).

Sub TestRate()
    Dim PVal, Payment, TotPmts, APR As Double
    Dim PayType As DueDate

    ' Define percentage format.
    Dim Fmt As String = "##0.00"
    Dim Response As MsgBoxResult
    ' Usually 0 for a loan.
    Dim FVal As Double = 0
    ' Guess of 10 percent.
    Dim Guess As Double = 0.1
    PVal = CDbl(InputBox("How much did you borrow?"))
    Payment = CDbl(InputBox("What's your monthly payment?"))
    TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
    Response = MsgBox("Do you make payments at the end of the month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100

    MsgBox("Your interest rate is " & Format(CInt(APR), Fmt) & " percent.")
End Sub

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**Financial

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Siehe auch

Referenz

Finanzdaten: Zusammenfassung

ArgumentException