Kullanıcı
- Katılım
- 11 Mar 2018
- Mesajlar
- 57
- 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
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