makro yanlış hesaplama yapıyor nedeninin bulamıyorum.

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
Siteden daha önce edindiğim maaşı brütten nete hesaplayan çalışma kitabında yanlış olan hücreler ile doğru olan hücreleri işaretledim. Fakat makroda neresinin hatalı olduğunu bulamadım. Benim kullanmış olduğum gelir vergisi hesaplama makrosu doğru çalışıyor. Fakat bunuda çalışmanın içerisine ekleyemedim. Sizden istediğim brüthesaplama makrosunda % 27 ve % 35 lik dilimleri nasıl hesaplatacağım yada hatasını nasıl bulacağım yardım edermisiniz.
 
Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
cevap verebilecek arkadaş yokmu
 
Katılım
26 Kasım 2005
Mesajlar
396
Excel Vers. ve Dili
Office 365
fonksiyona bu kodları yazarak deneyiniz

Dim v1 As Integer
Dim v2 As Integer
Dim v3 As Integer
v1 = 7800 * 0.15
v2 = 19800 * 0.2
v3 = 44700 * 0.27

If mat < 7800 Then
mat = mat * 0.15

ElseIf mat < 19800 Then

mat = v1 + (mat - 7800) * 0.2

ElseIf mat < 44700 Then

mat = v1 + v2 + (mat - 19800) * 0.27
Else

mat = v1 + v2 + v3 + (mat - 44700) * 0.35

End If
vergi2007 = mat
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bunu deneyin.
Kod:
Function STOPAJ(Kumulatif_Toplam As Double, Aylik_Ucret As Double) As Double

Dim Fark      As Double
Const UST_I   As Long = 7500
Const UST_II  As Long = 19000
Const UST_III As Long = 43000

'************* I. DILIM ****************
If Kumulatif_Toplam <= UST_I Then
    STOPAJ = Aylik_Ucret * 0.15

'************* II. DILIM ***************
ElseIf Kumulatif_Toplam > UST_I And Kumulatif_Toplam <= UST_II Then
        Fark = Kumulatif_Toplam - UST_I
        If Fark < Aylik_Ucret Then
            STOPAJ = (Aylik_Ucret - Fark) * 0.15
            STOPAJ = STOPAJ + Fark * 0.2
        Else
            STOPAJ = Aylik_Ucret * 0.2
        End If

'************* III. DILIM ***************
ElseIf Kumulatif_Toplam > UST_II And Kumulatif_Toplam <= UST_III Then
        Fark = Kumulatif_Toplam - UST_II
        If Fark < Aylik_Ucret Then
            STOPAJ = (Aylik_Ucret - Fark) * 0.2
            STOPAJ = STOPAJ + Fark * 0.27
        Else
            STOPAJ = Aylik_Ucret * 0.27
        End If

'************* IV. DILIM ****************
ElseIf Kumulatif_Toplam > UST_III Then
        Fark = Kumulatif_Toplam - UST_III
        If Fark < Aylik_Ucret Then
            STOPAJ = (Aylik_Ucret - Fark) * 0.27
            STOPAJ = STOPAJ + Fark * 0.35
        Else
            STOPAJ = Aylik_Ucret * 0.35
        End If
End If
End Function
 
Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
03.11.2024
merhaba parsley2
teşekkür ederim yolladığınız kodu denedim
çok işime yaradı teşekkürler

ayrıca zeki bey sizede teşekkür ederim katkılarınız için.
 
Üst