ich arbeite gerade an einem für mich großem Problem und benötige Hilfe.
Ich habe eine Userform und möchte zur Berechnung der Lohnsteuer eine Funktion starten.
In der Userform Page 2 Lohnsteuerberechnung ist ein Command Button zu starten der Funktion.
https://www.herber.de/bbs/user/47438.xls
Vielleicht hat jemand eine Idee
Gruß Peter
Hier die Funktionen:
Function ESt81(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt81 = ESt815(zvEK54, Veranlagung)
End Function
Function ESt815(zvEK, Veranlagung)
Dim a, y, u1_b, C, D As Double
zvEK54 = zvEK
If zvEK54
'------------------------------------------------------------------------
Function ESt86(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt86 = ESt865(zvEK54, Veranlagung)
End Function
Function ESt865(zvEK, Veranlagung)
Dim a, y, C, D As Double
zvEK54 = zvEK
If zvEK54
Function ESt88(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt88 = ESt885(zvEK54, Veranlagung)
End Function
'------------------------------------------------------------------------
Function ESt885(zvEK, Veranlagung)
Dim a, y, C, D As Double
zvEK54 = zvEK
If zvEK54
'------------------------------------------------------------------------
Function ESt90(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt90 = ESt905(zvEK54, Veranlagung)
End Function
Function ESt905(zvEK, Veranlagung)
Dim a, y As Double
zvEK54 = zvEK
If zvEK54
'------------------------------------------------------------------------
Function ESt96(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt96 = ESt965(zvEK54, Veranlagung)
End Function
Function ESt965(zvEK, Veranlagung)
Dim a, y, Z As Double
zvEK54 = zvEK
If zvEK54
'------------------------------------------------------------------------
Function ESt97(zvEK, Veranlagung)
ESt97 = ESt96(zvEK, Veranlagung)
End Function
Function ESt02(zvEK, Veranlagung)
ESt02 = ESt2001(zvEK, Veranlagung)
End Function
Function ESt2003(zvEK, Veranlagung)
ESt2003 = ESt2002(zvEK, Veranlagung)
End Function
Function ESt975(zvEK, Veranlagung)
ESt975 = ESt965(zvEK, Veranlagung)
End Function
Function ESt98(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt98 = ESt985(zvEK54, Veranlagung)
End Function
'------------------------------------------------------------------------
Function ESt985(zvEK, Veranlagung)
Dim a, y, Z As Double
zvEK54 = zvEK
If zvEK54
Function ESt99(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt99 = ESt995(zvEK54, Veranlagung)
End Function
'------------------------------------------------------------------------
Function ESt995(zvEK, Veranlagung)
Dim a, y1, y2 As Double
zvEK54 = zvEK
If zvEK54
'------------------------------------------------------------------------
Function ESt00(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54
ESt00 = ESt005(zvEK54, Veranlagung)
End Function
Function ESt005(zvEK, Veranlagung)
Dim a, y, Z As Double
zvEK54 = zvEK
If zvEK54
'------------------------------------------------------------------------
Function ESt2001(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 54) * 54 + 27
ESt2001 = ESt20015(zvEK54, Veranlagung)
End Function
Function ESt20015(zvEK, Veranlagung)
Dim a, u1_b, y, Z As Double
zvEK54 = zvEK
If zvEK54
Function ESt2002(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK / 36) * 36 + 18
ESt2002 = ESt20025(zvEK54, Veranlagung)
End Function
Function ESt20025(zvEK, Veranlagung)
Dim a, u1_b, y, Z As Double
zvEK54 = zvEK
If zvEK54
Function ESt2004(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK)
ESt2004 = ESt20045(zvEK54, Veranlagung)
End Function
Function ESt20045(zvEK, Veranlagung)
Dim a, u1_b, y, Z As Double
zvEK54 = zvEK
If zvEK54
Function ESt2005(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK)
ESt2005 = ESt20055(zvEK54, Veranlagung)
End Function
Function ESt20055(zvEK, Veranlagung)
Dim a, u1_b, y, Z As Double
zvEK54 = zvEK
If zvEK54
Function ESt2007(zvEK, Veranlagung)
If Veranlagung = 1 Then
zvEK = zvEK
Else
If Veranlagung = 2 Then
zvEK = zvEK / 2
Else
zvEK = 0
End If
End If
zvEK54 = Int(zvEK)
ESt2007 = ESt20075(zvEK54, Veranlagung)
End Function
Function ESt20075(zvEK, Veranlagung)
Dim a, u1_b, y, Z As Double
zvEK54 = zvEK
If zvEK54
Function EStab1981(zvEK, Veranlagung, Jahr) As Currency
Select Case Jahr
Case Is 2006
EStab1981 = ESt2007(zvEK, Veranlagung)
Exit Function
End Select
End Function