Soru Belirli tarih öncesi ve sonrasına göre makro

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Kod:
Function EmeklikesoranıSONRA(Sayi) '2016 sONRASI

If Sayi > 0 And Sayi < 2200 Then
Emeklikesoranı = 55
ElseIf Sayi >= 2200 And Sayi < 3600 Then
Emeklikesoranı = 85
ElseIf Sayi >= 3600 And Sayi < 4800 Then
Emeklikesoranı = 145
ElseIf Sayi >= 4800 And Sayi < 6400 Then
Emeklikesoranı = 165
ElseIf Sayi >= 6400 And Sayi < 7600 Then
Emeklikesoranı = 195
ElseIf Sayi >= 7600 And Sayi < 8400 Then
Emeklikesoranı = 215
ElseIf Sayi >= 8400 Then
Emeklikesoranı = 255
End If
End Function

Function EmeklikesoranıÖNCE(Sayi) '2016 öNCESİ

If Sayi > 0 And Sayi < 2200 Then
Emeklikesoranı = 40
ElseIf Sayi >= 2200 And Sayi < 3600 Then
Emeklikesoranı = 70
ElseIf Sayi >= 3600 And Sayi < 4800 Then
Emeklikesoranı = 130
ElseIf Sayi >= 4800 And Sayi < 6400 Then
Emeklikesoranı = 150
ElseIf Sayi >= 6400 And Sayi < 7600 Then
Emeklikesoranı = 180
ElseIf Sayi >= 7600 And Sayi < 8400 Then
Emeklikesoranı = 200
ElseIf Sayi >= 8400 Then
Emeklikesoranı = 245
End If
End Function
yukarıda yer alan kod düzeneğine

Cells(sat, "j") 2016 (yıl)
Cells(sat, "r") 6 (Ay) (6. Ay Dahil) ise EmeklikesoranıSONRA da ki kod 2016 yılı 5.ay dan öncekilerin tamamı için de EmeklikesoranıÖNCE de ki kod çalışması için
nasıl bir yol izlemeliyim?
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Kod:
Function Emeklikesoranı(yıl, ay, sayı)
If yıl <= 2016 And ay = 1 Then
ElseIf sayı > 0 And sayı < 2200 Then: Emeklikesoranı = 40
ElseIf sayı >= 2200 And sayı < 3600 Then: Emeklikesoranı = 70
ElseIf sayı >= 3600 And sayı < 4800 Then: Emeklikesoranı = 130
ElseIf sayı >= 4800 And sayı < 6400 Then: Emeklikesoranı = 150
ElseIf sayı >= 6400 And sayı < 7600 Then: Emeklikesoranı = 180
ElseIf sayı >= 7600 And sayı < 8400 Then: Emeklikesoranı = 200
ElseIf sayı >= 8400 Then: Emeklikesoranı = 245
End If
End Function
değer olarak sıfır veriyor. Hatayı nerede yaptığımı bulamadım yardımcı olabilirmisiniz?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,873
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bunu bir dene
Kod:
Function Emeklikesoranı(yıl, ay, ek_gosterge)
If yıl <= 2016 And ay <= 6 Then
If ek_gosterge > 0 And ek_gosterge < 2200 Then
Emeklikesoranı = 55
ElseIf ek_gosterge >= 2200 And ek_gosterge < 3600 Then
Emeklikesoranı = 85
ElseIf ek_gosterge >= 3600 And ek_gosterge < 4800 Then
Emeklikesoranı = 145
ElseIf ek_gosterge >= 4800 And ek_gosterge < 6400 Then
Emeklikesoranı = 165
ElseIf ek_gosterge >= 6400 And ek_gosterge < 7600 Then
Emeklikesoranı = 195
ElseIf ek_gosterge >= 7600 And ek_gosterge < 8400 Then
Emeklikesoranı = 215
ElseIf ek_gosterge >= 8400 Then
Emeklikesoranı = 255
End If
Else
If ek_gosterge > 0 And ek_gosterge < 2200 Then
Emeklikesoranı = 40
ElseIf ek_gosterge >= 2200 And ek_gosterge < 3600 Then
Emeklikesoranı = 70
ElseIf ek_gosterge >= 3600 And ek_gosterge < 4800 Then
Emeklikesoranı = 130
ElseIf ek_gosterge >= 4800 And ek_gosterge < 6400 Then
Emeklikesoranı = 150
ElseIf ek_gosterge >= 6400 And ek_gosterge < 7600 Then
Emeklikesoranı = 180
ElseIf ek_gosterge >= 7600 And ek_gosterge < 8400 Then
Emeklikesoranı = 200
ElseIf ek_gosterge >= 8400 Then
Emeklikesoranı = 245
End If
End If


End Function
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Halit ustam
çok teşekkür ederim. ellerine sağlık
 
Üst