Ja se bavim ekonomijom i potpuni sam pocetnik u programiranju. Medjutim treba da uradim neki projekat u VBA. U produzetku vam saljem koji sam napisao i koji radi u excelu.Medjutim trebalo bi da mi variabla war ima najvise dve decimale.POkusao sam to da uradim sa Math.round ali nije islo. Interesuje me da li neko zna sta i gde tacno (u kodu) da napisem da bi dobio war variablu samo sa dve decimale. Jako bi mi znacila pomoc. Veliki pozdrav i hvala unapred
Sub Button1_Click()
Dim S As Double: S = Cells(5, 3).Value
Dim r As Double: r = Cells(6, 3).Value
Dim T As Double: T = Cells(7, 3).Value
Dim sig As Double: sig = Cells(8, 3).Value
Dim cap As Double: cap = Cells(9, 3).Value
Dim ns As Double: ns = Cells(10, 3).Value
Dim i As Long
If S <= 0 Or T < 0 Or sig <= 0 Then GoTo error_label
For i = 5 To 25
Dim X As Double: X = Cells(i, 10).Value
If X <= 0 Then GoTo error_label
Dim PvX As Double: PvX = X * Exp(-r * T)
Dim sig_rt As Double: sig_rt = sig * Sqr(T)
Dim d1 As Double: d1 = Log(S / PvX) / sig_rt + 0.5 * sig_rt
Dim BS As Double
Dim war As Double 'value of warrants
Dim nw As Double 'number of warrants
BS = S * Application.NormSDist(d1) - PvX * Application.NormSDist(d1 - sig_rt)
war = BS - (cap / ns)
nw = cap / war
If BS <= 0 Then BS = 0
If war <= 0 Then war = 0
If nw <= 0 Then nw = 0
Cells(i, 12).Value = war
Cells(i, 17).Value = war
Cells(i, 11).Value = nw
Cells(i, 14).Value = BS
Next i
Exit Sub
error_label:
Beep 'To annoy the user
MsgBox prompt:="Error encountered: Certain values cannot be a negative " & Err & " " & Error(), _
Buttons:=vbCritical, _
Title:="Problem"
End Sub
[Ovu poruku je menjao Aleksandar Vasic dana 15.06.2009. u 19:06 GMT+1]
[Ovu poruku je menjao Aleksandar Vasic dana 15.06.2009. u 19:06 GMT+1]