Arkadaşlar Merhaba;
Aşağıdaki fonksiyonu (daha önce forumdan almıştım) güncelledim. Fakat hatalı sonuç çıkartıyor. Örneğin;
Net 1.907,63 İse Brüt 2.444.90 olmalı fakat 2.662,43 çıkıyor.
953,37 ise brüt 1.303,90 olmalı fonksiyon ile 1.330,59 çıkıyor.
753,43 ise brüt 1.011 olmalı fonksiyonda 1.037,69 çıkıyor.
Nerede düzeltme yapmalıyım? veya önereceğiniz bu tür fonksiyon varmı?
Function bucret(net_ucret, kvm)
If net_ucret < nucret(608.4, 0) Then
bucret = "Brüt tutar asgari ücretten az olamaz."
Exit Function
End If
a = net_ucret * 2
For i = 1 To 100
b = nucret(a, kvm)
If b = net_ucret Then
bucret = a
Else
a = a - (b - net_ucret)
End If
Next i
bucret = a
End Function
'brüt ücreti ve kümülatif vergi matrahını (kvm) girerek net ücreti hesaplayan fonksiyon
Function nucret(bucret, kvm)
If bucret < 608.4 Then
nucret = "Brüt ücret asgari ücretten aşağı olamaz."
Exit Function
ElseIf bucret <= 3954.6 Then
sskprim = bucret * 14 / 100
Else
sskprim = 3954.6 * 14 / 100
End If
isprim = sskprim / 14
gvergi = kes08(kvm + bucret - sskprim - isprim) - kes08(kvm)
dvergi = bucret * 6 / 1000
nucret = bucret - sskprim - isprim - gvergi - dvergi
End Function
'gelir vergisi matrahını girerek 2008 yılı için gelir vergisini hesaplayan fonksiyon
Function kes08(matrah)
If matrah < 7800# Then
kes08 = matrah * 0.15
Else
If matrah < 12000# Then
kes08 = 1170# + (matrah - 7800#) * 0.2
Else
If matrah < 19800# Then
kes08 = 3570# + (matrah - 19800#) * 0.27
Else
If matrah > 44700# Then
kes08 = 10293# + (matrah - 44700#) * 0.35
End If
End If
End If
End If
End Function
Aşağıdaki fonksiyonu (daha önce forumdan almıştım) güncelledim. Fakat hatalı sonuç çıkartıyor. Örneğin;
Net 1.907,63 İse Brüt 2.444.90 olmalı fakat 2.662,43 çıkıyor.
953,37 ise brüt 1.303,90 olmalı fonksiyon ile 1.330,59 çıkıyor.
753,43 ise brüt 1.011 olmalı fonksiyonda 1.037,69 çıkıyor.
Nerede düzeltme yapmalıyım? veya önereceğiniz bu tür fonksiyon varmı?
Function bucret(net_ucret, kvm)
If net_ucret < nucret(608.4, 0) Then
bucret = "Brüt tutar asgari ücretten az olamaz."
Exit Function
End If
a = net_ucret * 2
For i = 1 To 100
b = nucret(a, kvm)
If b = net_ucret Then
bucret = a
Else
a = a - (b - net_ucret)
End If
Next i
bucret = a
End Function
'brüt ücreti ve kümülatif vergi matrahını (kvm) girerek net ücreti hesaplayan fonksiyon
Function nucret(bucret, kvm)
If bucret < 608.4 Then
nucret = "Brüt ücret asgari ücretten aşağı olamaz."
Exit Function
ElseIf bucret <= 3954.6 Then
sskprim = bucret * 14 / 100
Else
sskprim = 3954.6 * 14 / 100
End If
isprim = sskprim / 14
gvergi = kes08(kvm + bucret - sskprim - isprim) - kes08(kvm)
dvergi = bucret * 6 / 1000
nucret = bucret - sskprim - isprim - gvergi - dvergi
End Function
'gelir vergisi matrahını girerek 2008 yılı için gelir vergisini hesaplayan fonksiyon
Function kes08(matrah)
If matrah < 7800# Then
kes08 = matrah * 0.15
Else
If matrah < 12000# Then
kes08 = 1170# + (matrah - 7800#) * 0.2
Else
If matrah < 19800# Then
kes08 = 3570# + (matrah - 19800#) * 0.27
Else
If matrah > 44700# Then
kes08 = 10293# + (matrah - 44700#) * 0.35
End If
End If
End If
End If
End Function
