Faiz Hesaplama Kodundaki Hata Nedeni

  • Konuyu başlatan Konuyu başlatan mars2
  • Başlangıç tarihi Başlangıç tarihi

Kısa Açıklama

Faiz Hesaplama Kodundaki Hata Nedeni isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
İyi Günler;

Aşağıdaki kodu module kayıt ettikten sonra, excel çalışma sayfasının

D7 hücresine anapara
D8 hücresinde başlangıç tarihi
D9 hücresinde bitiş tarihi
D10 hücresinde faiz oranı yazmaktayım.

D11 hücresien ise =hesapla(D7;D8;D9;D10) yazdığımda kod çalışmamakta, bu uygulamada bende mi hata yoksa kodda mı hata bulunmaktadır.
ekli ekran görüntüsü ile hata vermektedir.

Sub hesapla()

k = 4

Do While Cells(k, 7) <> ""
tutar = Cells(k, 7)
bastar = Cells(k, 8)
sontar = Cells(k, 9)
tmpbastar = bastar
j = 4
faiz = 0
devam = True
Do Until devam = False
faiztar = Cells(j, 3)
If Cells(j, 3) = "" Or faiztar > sontar Then faiztar = sontar: devam = False
If bastar > faiztar Then GoTo 20
faizor = Cells(j - 1, 4)
faiz = faiz + ((faiztar - tmpbastar) * tutar * faizor) / 36500
tmpbastar = faiztar
20
j = j + 1
Loop
Cells(k, 10) = faiz
k = k + 1: faiz = 0
Loop

End Sub

Diğer taraftan Ömer üstat
aşağıdaki kodu çalışmaktadır.

Function hesapla(tutar As Currency, bas As Date, bit As Date, oran As Double) As Currency
Application.Volatile
If bas > bit Then: hesapla = 0: Exit Function
hesapla = (bit - bas + 1) * oran * tutar / 365
End Function
 
Ekli dosyalar
  • Ekran Alıntısı.webp
    Ekran Alıntısı.webp
    7.6 KB · Görüntüleme: 5
Merhaba @mars2

Bu işlem için böyle uzun kodlamaya gerek yom bence.

Şu KTF (UDF-Kullanıcı Tanımlı Fonksiyon) kodlarını, uygun bir MODULE yapıştırın.
Belirttiğiniz formülü hücreye uygulayın.

Dikkat: Faiz oranının ilgili hücreye %5 gibi değil, 5 gibi sayı olarak yazılacağı varsayıldı.
Faiz oranı % cinsinden yazılacaksa koddaki 36500 kısmını 365 olarak değiştirirsiniz.


VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)
 
Kodu şu şekilde değiştirirseniz;
faiz oranı hücresinin biçimini istediğiniz gibi kullanabilirsiniz.
Yani hücre biçimi YÜZDE ORANI mı değil mi kontrolü, kodda yapılır.
5,87 (SAYI) yazıldığında da, %5,87 (YÜZDE ORANI) yazıldığında da %5,87 faiz uygular.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(6 satır)
 
Geri
Üst