title image


Smiley Re: Lohnsteuertabelle fuer 1990 bis 2002
Hallo Marek,Ok, wenn Du mit der Programmierung oder Makros noch Schwierigkeiten hast, eine entsprechende Datei ist per Mail unterwegs.Fuer den Fall es besteht hier im Forum Interesse an solch einer Berechnung nachfolgend mein ueberarbeiteter Code.Mit der Funktion SteuerNull kann auch der steuerfreie Grundfreibetrag ermittelt werden. Mit der Auto_Open Routine werden die Funktionen SteuerNull und SteuerTab in die Excel-Funktionskategorie Finanz eingetragen.Option Explicit 'forces that all variables are declared Private Sub Auto_Open() Rem Define the description for the customized Tax-functions ' and implement these functions into the "Financial" category. Application.MacroOptions macro:="SteuerNull", _ Description:="Berechnet den Grundfreibetrag (d.h. das steuerfreie Einkommen)" & vbCrLf & "je nach Steuerjahr (1990 bis 2002).", _ Category:=1 ' Category No. 1 = Financial Application.MacroOptions macro:="SteuerTab", _ Description:="Berechnet die Einkommensteuer des zu versteuernden Einkommens" & vbCrLf & "je nach Steuerjahr (1990 bis 2002) gemäß Steuertabelle.", _ Category:=1 ' Category No. 1 = FinancialEnd Sub Public Function SteuerNull(SteuerJahr As Integer, Optional Splitting As Boolean) As Variant Rem Calculation of German Tax-Free Income (Einkommensteuer = 0) ' SteuerJahr = fiscal year, 4 digit value required ' Splitting = tax splitting for married people (Ehegattensplitting, SK 3) ' Boolean value (True or -1 / False or 0) required ' Last revision by Norbert Koehler 2000-04-09 Dim intKZTAB As Integer Dim dblGTaxZero As Double Application.Volatile 'Thanx to Joerg Lorenz. 'The function will be recalculated whenever calculation occurs 'in any cells on the worksheet on which this function appears. intKZTAB = 1 'Grundtabelle If Splitting Then intKZTAB = 2 'Splittingtabelle End If Select Case SteuerJahr Case 1990 To 1995 dblGTaxZero = 5669 '(Grundfreibetrag 5616 wird oftmals ausgewiesen) Case 1996 To 1997 dblGTaxZero = 12095 Case 1998 dblGTaxZero = 12365 Case 1999 dblGTaxZero = 13067 Case 2000 To 2001 dblGTaxZero = 13499 Case 2002 dblGTaxZero = 14093 Case Else SteuerNull = CVErr(xlErrValue) Exit Function End Select SteuerNull = CDbl(Int(dblGTaxZero) * intKZTAB)End Function Public Function SteuerTab(zvEinkommen As Double, SteuerJahr As Integer, Optional Splitting As Boolean) As Variant Rem Calculation of the German Income-Tax (Einkommensteuertarif) ' zvEinkommen = tax related income (zu versteuerndes Einkommen) ' SteuerJahr = fiscal year, 4 digit value required ' Splitting = tax splitting for married people (Ehegattensplitting, SK 3) ' Boolean value (True or -1 / False or 0) required ' Last revision by Norbert Koehler 2000-04-09 Dim intKZTAB As Integer Dim dblGTax54 As Double Dim dblY As Double Dim dblGTaxBasis As Double Application.Volatile 'Thanx to Joerg Lorenz. ' The function will be recalculated whenever calculation occurs ' in any cells on the worksheet on which this function appears. If zvEinkommen = 0 Then Exit Function End If intKZTAB = 1 'Grundtabelle If Splitting Then intKZTAB = 2 'Splittingtabelle End If dblGTax54 = Int(zvEinkommen / intKZTAB / 54) * 54 Select Case SteuerJahr Case 1990 To 1995 ' valid from 1990 upto 1995 Select Case dblGTax54 Case Is dblGTaxBasis = 0 Case Is dblGTaxBasis = dblGTax54 * 0.19 - 1067 Case Is dblY = (dblGTax54 - 8100) / 10000 dblGTaxBasis = (dblY * 151.94 + 1900) * dblY + 472 Case Is > 120041 dblGTaxBasis = dblGTax54 * 0.53 - 22842 End Select Case 1996 To 1997 ' valid for 1996 and 1997 Select Case dblGTax54 Case Is dblGTaxBasis = 0 Case Is dblY = (dblGTax54 - 12042) / 10000 dblGTaxBasis = (dblY * 86.63 + 2590) * dblY Case Is dblY = (dblGTax54 - 55674) / 10000 dblGTaxBasis = (dblY * 151.91 + 3346) * dblY + 12949 Case Is > 120041 dblGTaxBasis = dblGTax54 * 0.53 - 22842 End Select Case 1998 ' valid for 1998 Select Case dblGTax54 Case Is dblGTaxBasis = 0 Case Is dblY = (dblGTax54 - 12312) / 10000 dblGTaxBasis = (dblY * 91.19 + 2590) * dblY Case Is dblY = (dblGTax54 - 58590) / 10000 dblGTaxBasis = (dblY * 151.96 + 3434) * dblY + 13938 Case Is > 120041 dblGTaxBasis = dblGTax54 * 0.53 - 22843 End Select Case 1999 ' valid for 1999 Select Case dblGTax54 Case Is dblGTaxBasis = 0 Case Is dblY = (dblGTax54 - 13014) / 10000 dblGTaxBasis = (dblY * 350.35 + 2390) * dblY Case Is dblY = (dblGTax54 - 17010) / 10000 dblGTaxBasis = (dblY * 101.31 + 2670) * dblY + 1011 Case Is dblY = (dblGTax54 - 66312) / 10000 dblGTaxBasis = (dblY * 151.93 + 3669) * dblY + 16637 Case Is > 120041 dblGTaxBasis = dblGTax54 * 0.53 - 22886 End Select Case 2000 To 2001 ' valid for 2000 and 2001 Select Case dblGTax54 Case Is dblGTaxBasis = 0 Case Is dblY = (dblGTax54 - 13446) / 10000 dblGTaxBasis = (dblY * 262.76 + 2290) * dblY Case Is dblY = (dblGTax54 - 17442) / 10000 dblGTaxBasis = (dblY * 133.74 + 2500) * dblY + 957 Case Is > 114695 dblGTaxBasis = dblGTax54 * 0.51 - 20575 End Select Case 2002 ' valid for 2002 Select Case dblGTax54 Case Is dblGTaxBasis = 0 Case Is dblY = (dblGTax54 - 14040) / 10000 dblGTaxBasis = (dblY * 387.89 + 1990) * dblY Case Is dblY = (dblGTax54 - 18036) / 10000 dblGTaxBasis = (dblY * 142.49 + 2300) * dblY + 857 Case Is > 107567 dblGTaxBasis = dblGTax54 * 0.485 - 19299 End Select Case Else SteuerTab = CVErr(xlErrValue) Exit Function End Select SteuerTab = CDbl(Int(dblGTaxBasis)) * intKZTABEnd FunctionViele GruesseNorbert

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: