• DİKKAT

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

Gelir Vergisi kodunda katsayıları hücreden aldırma

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Kod:
Function gelir(kümülatif_matrah, matrah)
sat = 6
ReDim a(sat)
ReDim b(sat)
ReDim c(sat)

ReDim vergi1(sat)
ReDim vergi2(sat)
deg1 = 0
deg2 = 0
i = 1
rakam1 = kümülatif_matrah + matrah
rakam2 = kümülatif_matrah
'______________________________
'vergi dilimleri
a(1) = 13000         '1. dilim
a(2) = 30000         '2. dilim
a(3) = 70000         '3. dilim
a(4) = 110000        '4. dilim
a(5) = 500000000     '5. dilim
a(6) = a(5) * (rakam1)
'______________________________
'yüzde oranları
b(1) = 0.15          '1. dilim
b(2) = 0.2           '2. dilim
b(3) = 0.27          '3. dilim
b(4) = 0.35          '4. dilim
b(5) = 0.35          '5. dilim
b(6) = 0.35          'diğerleri
'______________________________
c(1) = a(1)
c(2) = a(2) - a(1)
c(3) = a(3) - a(2)
c(4) = a(4) - a(3)
c(5) = a(5) - a(4)
c(6) = a(6) - a(5)
'______________________________

While rakam1 > 0
'---------------------------------
If rakam1 >= c(i) Then
vergi1(i) = ((c(i) * b(i)) / 1)
rakam1 = rakam1 - c(i)
ElseIf rakam1 < c(i) Then
c(i) = rakam1
rakam1 = rakam1 - c(i)
vergi1(i) = ((c(i) * b(i)) / 1)
Else
vergi1(6) = ((c(6) * b(6)) / 1)
End If
deg1 = deg1 + vergi1(i)
'---------------------------------
If rakam2 >= c(i) Then
vergi2(i) = ((c(i) * b(i)) / 1)
rakam2 = rakam2 - c(i)
ElseIf rakam2 < c(i) Then
c(i) = rakam2
rakam2 = rakam2 - c(i)
vergi2(i) = ((c(i) * b(i)) / 1)
Else
vergi2(6) = ((c(6) * b(6)) / 1)
End If
deg2 = deg2 + vergi2(i)
'---------------------------------
i = i + 1
Wend
gelir = Round(deg1 - deg2, 2)
End Function
yukarıda ki makro kodunda

Kod:
'vergi dilimleri
a(1) = 13000         '1. dilim
a(2) = 30000         '2. dilim
a(3) = 70000         '3. dilim
a(4) = 110000        '4. dilim
a(5) = 500000000     '5. dilim
a(6) = a(5) * (rakam1)

a(1) = 13000 kısmındaki 13000 katsayısını "KATSAYILAR Q3" ten almasını
a(2) = 30000 kısmındaki 30000 katsayısını "KATSAYILAR T3" ten almasını
a(3) = 70000 kısmındaki 70000 katsayısını "KATSAYILAR V3" ten almasını

Sağlamak için ne yazmalıyım?
 
Merhaba,

Diğer kodları siz halledersiniz.

Kod:
a(1) = Sheets("KATSAYILAR").Range("Q3")
 
Kod:
a(1) = Sheets("KATSAYILAR").Range("Q1") 
a(2) = Sheets("KATSAYILAR").Range("T3")
a(3) = Sheets("KATSAYILAR").Range("V3")
 
Necdet Yeşertener ve askm ustalarıma teşekkür ederim
Sağolasınız
 
vergi hesaplamayı makro le nasıl yapabiliriz
 
Geri
Üst