NPer-Funktion

Aktualisiert: November 2007

Gibt einen Wert vom Typ Double zurück, der die Anzahl der Zeiträume für eine Annuität bei regelmäßigen, konstanten Zahlungen und einem konstanten Zinssatz angibt.

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

Parameter

  • Rate
    Erforderlich. Ein Wert vom Typ Double, der den Zinssatz pro Zeitraum angibt. Wenn Sie beispielsweise einen Kredit für ein Auto mit einem Jahreszins von 10 Prozent aufnehmen und monatliche Zahlungen vereinbart haben, beträgt der Zinssatz pro Zeitraum 0,1 dividiert durch 12 oder 0,0083.

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

  • PV
    Erforderlich. Ein Wert vom Typ Double, der den Barwert oder heutigen Wert einer Folge zukünftiger Einnahmen oder Ausgaben angibt. 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. 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.

Ausnahmen

Ausnahmetyp

Fehlernummer

Bedingung

ArgumentException

5

Rate <= -1.

ArgumentException

5

Rate = 0 und Pmt = 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.

Beispiel

In diesem Beispiel wird mit der NPer-Funktion die Anzahl der Zeiträume zurückgegeben, in denen Zahlungen zur Tilgung eines Darlehens erfolgen müssen, dessen Wert in PVal enthalten ist. Außerdem ist der Zinssatz pro Zeitraum gegeben (APR / 12), die Zahlung (Payment), der zukünftige Darlehenswert (FVal) und eine Zahl, die die Fälligkeit der Zahlung am Anfang oder Ende des Zahlungszeitraums angibt (PayType).

Sub TestNPer()
    Dim TotPmts As Double
    Dim PVal, APR, Payment As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Usually 0 for a loan.
    Dim Fval As Double = 0
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    ' Usually 0 for a loan.
    If APR > 1 Then APR = APR / 100
    Payment = CDbl(InputBox("How much do you want to pay each month?"))
    Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
    If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1

    MsgBox("It will take you " & TotPmts & " months to pay off your loan.")
End Sub

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**Financial

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

Siehe auch

Referenz

Finanzdaten: Zusammenfassung

ArgumentException