Microsoft Office Tutorials and References
In Depth Information
13.5.5
Laufzeit Spezial
Ob Formellösung oder VBA-Function, das ist sicher Geschmacksache. Für welche
Lösung würden Sie sich bei folgender Aufgabenstellung entscheiden? Wir gehen vom
gleichen Zahlenbeispiel aus wie bei Zielwert Spezial. Jetzt soll die Laufzeit (Anzahl
Zahlungen) bestimmt werden, zu der sich eine vorgegebene Vermögenssumme ange-
spart hat. Für diesen Anwendungsfall gibt es die Excel-Funktion ZZR. Doch wenn mehr
Zahlungstermine als Zinstermine vorkommen und die Zahlungen auch noch dynamisch
steigen, ist ZZR genauso überfordert wie ZW.
Wie lässt sich die Berechnung am schnellsten so umstellen, dass die gesuchte Größe
Zielwert (ZW) durch die gesuchte Anzahl an Zahlungsperioden ausgetauscht wird?
Die Formellösung umzustellen wäre ein Kraftakt. Die tabellarische Lösung mithilfe der
Zielwertsuche umzustellen, geht auch nicht ohne Weiteres. (Nach n auflösen bringt’s
nicht, dann würde das Ergebnis nur bei ganzzahligen Zinsperioden passen.)
Erstaunlich unkompliziert erscheint hier die VBA-Lösung. Wir ersetzen die For-Next -
Schleife durch eine Do-Loop -Schleife und müssen ansonsten nur ganz geringfügige
Anpassungen gegenüber der ZWS-Function vornehmen. Do Loop ist ja immer dann
gefragt, wenn die Anzahl Durchläufe ex ante nicht bekannt ist. Bei der Bestimmung
der Laufzeit ist dies ja der Fall. Die Schleife soll so lange weiterarbeiten, bis die Ver-
mögenssumme erreicht ist.
Function ZZRS(Zinssatz As Double, RMZ As Double, Zielwert As Double, Barwert As
Double, AnzahlZahlungen As Long, Fälligkeit As Boolean, RMZWachstum As Double)
Dim n As Long, p As Long
Dim Kapital As Double
Dim TempZins As Double
Dim i As Double
1 If AnzahlZahlungen < 0 Then
2 ZZRS = "#ZAHL!"
3 Exit Function
4 End If
5 i = Zinssatz / AnzahlZahlungen
6 Kapital = Barwert
7 Do While Kapital < Zielwert And n < 100
8 n = n + 1
9 p = 0
10 Do While p < AnzahlZahlungen And (Kapital + TempZins) < Zielwert
Search JabSto ::




Custom Search