2017-07-11 5 views
-3

Ich möchte die Yield To Maturity einer Bindung mit Yield() berechnen. Yield() ist in der Excel-Arbeitsmappe verfügbar, aber ich kann diese Funktion in VBA nicht finden.Verwenden der Yield-Funktion in VBA

Es ist keine verfügbare WorksheetFunction und auch keine Funktion in der Referenz [atpvbaen.xls]. Hat jemand irgendwelche Vorschläge oder Erfahrungen mit dem Versuch, Yield() in VBA zu verwenden?

Ich habe das ohne Erfolg folgende versucht:

Dim s as Double 
    s = [Yield(settle, maturity, coupon, price, 100,2,1)] 

Der Compiler mir einen Typenkonfliktfehler gibt.

Bei Verwendung:

Debug.Print [Yield(settle, maturity, coupon, price, 100,2,1)] 

Die unmittelbaren Fenster Fehlern 2029

+2

Was haben Sie versucht? Eine schnelle [Suche] (https://www.google.com/search?q=Yield() + in + VBA) findet eine Reihe von Links. Hast du irgendwas davon versucht? – BruceWayne

+0

'Debug.Print [Yield (args)]' –

+0

Es gibt keine klare Antwort in Bezug auf die Verwendung von Yield() in VBA. – liujm

Antwort

0

Die Yield() Funktion von älteren Versionen von Excel ist no longer available zeigen. Nicht einmal in dem Analysis ToolPak Add-In.

Ihre beste Wette wäre ein UDF (benutzerdefinierte Funktion) in VBA wie diese zu erstellen:

Function YieldToMaturity(Coupon As Currency, FaceValue As Currency, _ 
Price As Currency, YearsToMaturity As Integer) As Single 

YieldToMaturity = (Coupon + ((FaceValue - Price)/YearsToMaturity)) _ 
/((FaceValue + Price)/2) 

End Function 



Einmal erstellt die Funktion in einer Zelle im Arbeitsblatt aufrufen kann durch Drücken Shift + F3 und wählen Sie "Benutzerdefiniert" aus dem Dropdown-Menü im Dialogfeld "Funktion einfügen".

Quelle: financeformulas.net

Verwandte Themen