• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yıla göre Matrah Hesaplama

Katılım
6 Ekim 2006
Mesajlar
149
Excel Vers. ve Dili
2013
F3 bakıp yılı alacak, Süreglen Matrahla (G3) + Aylık matrahı (H3) = toplayacak
A sütunda yılın karşılığına gelecek (B C D) sütunlarına göre
Aylık matrahın (H3) 0,15, 0,20, 0,27 Gelir Vergisi hesaplayacak

Örnek Makro 2019 Matrah
Function Gvergi(Sgelen, Matrah As Double)
a = 18000#
b = 40000#
c = 148000#
If (Sgelen + Matrah) <= a Then Gvergi = Matrah * 0.15
If (Sgelen + Matrah) >= a And Sgelen < a Then Gvergi = (Sgelen + Matrah - a) * 0.2 + (a - Sgelen) * 0.15
If (Sgelen + Matrah) >= a And Sgelen < a Then Gvergi = (Sgelen + Matrah - a) * 0.2 + (a - Sgelen) * 0.15
If Sgelen >= a Then Gvergi = Matrah * 0.2
If (Sgelen + Matrah) >= b And Sgelen < b Then Gvergi = (Sgelen + Matrah - b) * 0.27 + (b - Sgelen) * 0.2
If Sgelen >= b Then Gvergi = Matrah * 0.27
End Function
Bu Makroya uyarlayabilirmiyiz.
https://www.dosya.tc/server21/z30h39/Yila_Gore_Matrah.xlsm.html
 
Örnek dosyanızdaki verilere göre bu ktf deneyiniz.
kullanış formülü
Kod:
=gelir(G3;H3;F3)



Rich (BB code):
Function gelir(kümülatif_matrah, matrah, yıl)

sayf1 = "Sayfa1"

sut = 0
For r = 3 To Worksheets(sayf1).Cells(Rows.Count, "A").End(3).Row
If yıl = Worksheets(sayf1).Cells(r, 1).Value Then
sut = r
End If
Next


If matrah = "" Then
gelir = ""
Exit Function
ElseIf yıl = 0 Then
gelir = ""
Exit Function
End If


Dim a(4)
Dim b(4)
Dim c(4)
Dim vergi(4)
vergi1 = 0
vergi2 = 0
i = 1
rakam = kümülatif_matrah + matrah
rakam1 = kümülatif_matrah
'______________________________
'yüzde oranları

a(1) = 0.15
a(2) = 0.2
a(3) = 0.27

'______________________________
'vergi dilimleri
b(1) = Worksheets(sayf1).Cells(sut, 2).Value
b(2) = Worksheets(sayf1).Cells(sut, 3).Value
b(3) = Worksheets(sayf1).Cells(sut, 4).Value
b(4) = b(3) * rakam
'______________________________
c(1) = b(1)
c(2) = b(2) - b(1)
c(3) = b(3) - b(2)
c(4) = b(4) - b(3)

While rakam > 0
'---------------------------------
If rakam >= c(i) Then
vergi(i) = ((c(i) * a(i)) / 1)
rakam = rakam - c(i)
ElseIf rakam < c(i) Then
c(i) = rakam
rakam = rakam - c(i)
vergi(i) = ((c(i) * a(i)) / 1)
Else
vergi(4) = ((c(4) * a(4)) / 1)
End If
vergi1 = vergi1 + vergi(i)
'---------------------------------
If rakam1 >= c(i) Then
vergi(i) = ((c(i) * a(i)) / 1)
rakam1 = rakam1 - c(i)
ElseIf rakam1 < c(i) Then
c(i) = rakam1
rakam1 = rakam1 - c(i)
vergi(i) = ((c(i) * a(i)) / 1)
Else
vergi(i) = ((c(i) * a(i)) / 1)
End If
vergi2 = vergi2 + vergi(i)
'---------------------------------
i = i + 1
Wend
gelir = Round(vergi1 - vergi2, 2)
End Function






Yeni Bit Eşlem Resmi.jpg
 
Son düzenleme:
koda kontrol bölümü olarak kırmızı yeri ekledim.
 
Çok Teşekkür ederim selam ve saygılar
 
Geri
Üst