Çalışanlar için Visual Basic ile hazırlanmış gelir vergisi fonksiyonu

Çalışanlar için Visual Basic ile hazırlanmış gelir vergisi fonksiyonu

Excelde ücretliler için gelir vergisi hesaplamak için kullanıcı tanımlı bir fonksiyon hazırlamak ve kullanmak her zaman kullanım kolaylığı sağlayacaktır. Bunun için aşağıdaki gibi bir fonksiyon yazılabilir. Ayrıca bu fonksiyonun kullanımı aşağıda linkte verilmiştir.

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, Oran5 As Integer
Dim GV1 As Double, GV2 As Double, GV3 As Double, GV4 As Double, GV5 As Double

Dilim1 = 0
Dilim2 = 22000
Dilim3 = 49000
Dilim4 = 180000
Dilim5 = 600000

Oran1 = 15
Oran2 = 20
Oran3 = 27
Oran4 = 35
Oran5 = 40

TMatrah = KMatrah + VMatrah

If KMatrah >= Dilim1 And KMatrah < Dilim2 Then

If TMatrah >= Dilim1 And TMatrah < Dilim2 Then
GV1 = VMatrah * Oran1 / 100
Else
GV1 = 0
End If

If TMatrah >= Dilim2 And TMatrah < Dilim3 Then
GV2 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((VMatrah - (Dilim2 - KMatrah)) * Oran2 / 100)
Else
GV2 = 0
End If

If TMatrah >= Dilim3 And TMatrah < Dilim4 Then
GV3 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((Dilim3 - Dilim2) * Oran2 / 100) + ((VMatrah - (Dilim3 - KMatrah)) * Oran3 / 100)
Else
GV3 = 0
End If

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((Dilim3 - Dilim2) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((VMatrah - (Dilim4 - KMatrah)) * Oran4 / 100)
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((Dilim3 - Dilim2) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((Dilim5 - Dilim4) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim2 And KMatrah < Dilim3 Then
GV1 = 0
If TMatrah >= Dilim2 And TMatrah < Dilim3 Then
GV2 = VMatrah * Oran2 / 100
Else
GV2 = 0
End If

If TMatrah >= Dilim3 And TMatrah < Dilim4 Then
GV3 = ((Dilim3 - KMatrah) * Oran2 / 100) + ((VMatrah - (Dilim3 - KMatrah)) * Oran3 / 100)
Else
GV3 = 0
End If

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = ((Dilim3 - KMatrah) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((VMatrah - (Dilim4 - KMatrah)) * Oran4 / 100)
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim3 - KMatrah) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((Dilim5 - Dilim4) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim3 And KMatrah < Dilim4 Then
GV1 = 0
GV2 = 0
If TMatrah >= Dilim3 And TMatrah < Dilim4 Then
GV3 = VMatrah * Oran3 / 100
Else
GV3 = 0
End If

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = ((Dilim4 - KMatrah) * Oran3 / 100) + ((VMatrah - (Dilim4 - KMatrah)) * Oran4 / 100)
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim4 - KMatrah) * Oran3 / 100) + ((Dilim5 - Dilim4) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim4 And KMatrah < Dilim5 Then
GV1 = 0
GV2 = 0
GV3 = 0

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = VMatrah * Oran4 / 100
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim5 - KMatrah) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim5 Then
GV1 = 0
GV2 = 0
GV3 = 0
GV4 = 0

If TMatrah >= Dilim5 Then
GV5 = VMatrah * Oran5 / 100
Else
GV5 = 0
End If
GoTo son
End If

son:
GV = GV1 + GV2 + GV3 + GV4 + GV5
End Function


İlgili Yazılar