denese
Altın Üye
		- Katılım
 - 17 Mart 2011
 
- Mesajlar
 - 441
 
- Excel Vers. ve Dili
 - Office 2019
 
- Altın Üyelik Bitiş Tarihi
 - 02-03-2026
 
Merhaba,
Ekte, kullanıcı tanımlı fonksiyon ile netten brüte hesaplama yapılabilen bir çalışma yer alıyor. Çalışmaya bu forumdan erişmiştim uzun zaman önce. Forumda aradım ama kaynağı bulamadım.. Yapmak istediğim şey şu; Gelir vergisine %40' lık yeni bir vergi dilimi daha eklenmesi nedeniyle, aşağıdaki GV hesaplama kodunu revize etmek istiyorum.
	
	
	
		
Güncel vergi dilimleri ve oranları aşağıdaki gibi olacak.
Dilim1 = 0
Dilim2 = 22000
Dilim3 = 49000
Dilim4 = 180000
Dilim5 = 600000
    
Oran1 = 15
Oran2 = 20
Oran3 = 27
Oran4 = 35
Oran5 = 40
Çalışma ekte yer alıyor. Yardımcı olabilir misiniz.
Saygılarımla.
								Ekte, kullanıcı tanımlı fonksiyon ile netten brüte hesaplama yapılabilen bir çalışma yer alıyor. Çalışmaya bu forumdan erişmiştim uzun zaman önce. Forumda aradım ama kaynağı bulamadım.. Yapmak istediğim şey şu; Gelir vergisine %40' lık yeni bir vergi dilimi daha eklenmesi nedeniyle, aşağıdaki GV hesaplama kodunu revize etmek istiyorum.
		Kod:
	
	Function GV(KMatrah As Double, VMatrah As Double) As Double
    Dim Dilim1 As Double, Dilim2 As Double, Dilim3 As Double, Dilim4 As Double
    Dim Oran1 As Integer, Oran2 As Integer, Oran3 As Integer, Oran4 As Integer
    Dim GV1 As Double, GV2 As Double, GV3 As Double, GV4 As Double
    
    Dilim1 = 0
    Dilim2 = 14800
    Dilim3 = 34000
    Dilim4 = 120000
    
    Oran1 = 15
    Oran2 = 20
    Oran3 = 27
    Oran4 = 35
    
    TMatrah = KMatrah + VMatrah
        
    If TMatrah <= Dilim2 Then
        GV1 = VMatrah * Oran1 / 100
    End If
    
    If TMatrah >= Dilim2 And TMatrah < Dilim3 Then
        Sor1 = (VMatrah - (TMatrah - Dilim2))
       If Sor1 > 0 Then
            GV1 = (TMatrah - Dilim2) * Oran2 / 100
            GV2 = Sor1 * Oran1 / 100
        Else:
            GV1 = VMatrah * Oran2 / 100
            GV2 = 0
        End If
    End If
 
    If TMatrah >= Dilim3 And TMatrah < Dilim4 And KMatrah < Dilim2 Then
        GV1 = (Dilim2 - KMatrah) * Oran1 / 100
        GV2 = (Dilim3 - Dilim2) * Oran2 / 100
        GV3 = ((TMatrah - Dilim3)) * Oran3 / 100
        GoTo son
    End If
    
    If TMatrah >= Dilim3 And TMatrah < Dilim4 And KMatrah > Dilim2 Then
        Sor2 = (VMatrah - (TMatrah - Dilim3))
        If Sor2 > 0 Then
            GV1 = (TMatrah - Dilim3) * Oran3 / 100
            GV2 = Sor2 * Oran2 / 100
        Else:
            GV1 = VMatrah * Oran3 / 100
            GV2 = 0
        End If
    End If
    
    If TMatrah >= Dilim4 And KMatrah < Dilim2 Then
        GV1 = (Dilim2 - KMatrah) * Oran1 / 100
        GV2 = (Dilim3 - Dilim2) * Oran2 / 100
        GV3 = ((Dilim4 - Dilim3)) * Oran3 / 100
        GV4 = ((TMatrah - Dilim4)) * Oran4 / 100
        GoTo son
    End If
 
    If TMatrah >= Dilim4 And KMatrah < Dilim3 Then
        GV1 = 0
        GV2 = (Dilim3 - KMatrah) * Oran2 / 100
        GV3 = ((Dilim4 - Dilim3)) * Oran3 / 100
        GV4 = ((TMatrah - Dilim4)) * Oran4 / 100
        GoTo son
    End If
    If TMatrah >= Dilim4 Then
        Sor = (VMatrah - (TMatrah - Dilim4))
        If Sor > 0 Then
            GV1 = (TMatrah - Dilim4) * Oran4 / 100
            GV2 = Sor * Oran3 / 100
        Else:
            GV1 = VMatrah * Oran4 / 100
            GV2 = 0
        End If
    End If
son:
    GV = GV1 + GV2 + GV3 + GV4
End Function
	Dilim1 = 0
Dilim2 = 22000
Dilim3 = 49000
Dilim4 = 180000
Dilim5 = 600000
Oran1 = 15
Oran2 = 20
Oran3 = 27
Oran4 = 35
Oran5 = 40
Çalışma ekte yer alıyor. Yardımcı olabilir misiniz.
Saygılarımla.
Ekli dosyalar
- 
		
			
		
		
		23.4 KB Görüntüleme: 22
 
				