KTF – UDF Birlesik Faiz Hesaplama

Birlesik faiz hesaplamak icin suanki deger * (1+ faiz orani)^ aylik sure seklinde bir formul kullaniriz yani..

PV*(1+R)^N formulunu kullaniriz, o halde basit bir sekilde bu yonde bir kullanici tanimli fonksiyon yapabiliriz.. Ve Bugunku_Deger ve Faiz_Orani Ve Sure gibi uc tane isim tanimiyla surekli calismasini saglayabilir yada fonksiyon icerisine bunlari kendimiz girebiliriz..

 

P = Principal / Ana Para
r = Annual (Interest) Rate / Yillik Faiz Orani
m = Number of Compounding Periods per Year / Yillik Birlesik donem Sayisi
n = Total Number of Compounding Periods / Birlesik donem Sayisi
A = Amount Earned After n periods / n Donem Sonunda Kazanilan

 

VBA Kodlari

Function Compound_Interest(PV As Double, R As Double, N As Double) As Double
Compound_Interest = PV*(1+R)^N
End Function

Formulumuzu artik su sekilde kullanabiliriz;

=Compound_Interest(A3,B3,C3)

Form uzerinde bu tarz bir calisma ornegi..

Private Sub cmdCalculate_Click()
Dim Principal As Currency
Dim InterestRate As Double
Dim InterestEarned As Currency
Dim FutureValue As Currency
Dim RatePerPeriod As Double
Dim Periods As Integer
Dim CompoundType As Integer
Dim i As Double
Dim n As Integer
Principal = CCur(txtPrincipal.Text)
InterestRate = CDbl(txtInterestRate.Text) / 100
If optMonthly.Value = True Then
CompoundType = 12
ElseIf optQuarterly.Value = True Then
CompoundType = 4
ElseIf optSemiannually.Value = True Then
CompoundType = 2
Else
CompoundType = 1
End If
Periods = CInt(txtPeriods.Text)
i = InterestRate / CompoundType
n = CompoundType * Periods
RatePerPeriod = InterestRate / Periods
FutureValue = Principal * ((1 + i) ^ n)
InterestEarned = FutureValue – Principal
txtInterestEarned.Text = FormatCurrency(InterestEarned)
txtAmountEarned.Text = FormatCurrency(FutureValue)
End Sub

Yazar: mmustafaaslan

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


1 + 8 =