Thema Datum  Von Nutzer Rating
Antwort
Rot Reisekostenabrechnung fehlerhaft
29.10.2024 15:39:55 Daniel
NotSolved
29.10.2024 17:04:58 GTA
NotSolved
29.10.2024 19:25:14 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
Daniel
Datum:
29.10.2024 15:39:55
Views:
98
Rating: Antwort:
  Ja
Thema:
Reisekostenabrechnung fehlerhaft

Moin zusammen,

ein Bekannter, den es leider nicht mehr gibt hat mir eine VBA für mein Urlaubsprogramm geschrieben.
Leider erhalte ich an manchen Stellen falsche Ergebnisse.
Es geht darum, dass meine Fahrer für An- und Abreisetage jeweils EUR 14,00 erhalten.
Für volle Tage ( Ohne An - oder Abreise) erhalten Sie EUR 28,00.

Ich selbst habe von dieser Thematik leider keine Ahnung und wollte nun nicht mit : "wenn, dann Formeln " völliges Chaos verursachen :D

Ich stelle euch den Code zur Verfügung in der Hoffnung jemand kann mir den kleinen verstecken Fehler identifizieren, der zu den teilweise falschen Ergebnissen führt:

 

Sub TageSpesen()
    Dim Zeile, Spalte, Eintrag0, Eintrag, Eintrag1, TageSpesen28, TageSpesen14, Tage
    Zeile = 4: TageSpesen28 = 0: TageSpesen14 = 0
    
    Do
        If Worksheets(15).Cells(Zeile, 1) = "" Then
            Exit Do
        End If
        For Spalte = 2 To 367
            Eintrag0 = Worksheets(15).Cells(Zeile, Spalte - 1)
            Eintrag = Worksheets(15).Cells(Zeile, Spalte)
            Eintrag1 = Worksheets(15).Cells(Zeile, Spalte + 1)
            
            
            If Spalte = 60 Then 'wenn 28.02.
                If Worksheets(15).Cells(3, 61) = 0 Then 'wenn Schaltjahr
                    Eintrag1 = Worksheets(15).Cells(Zeile, Spalte + 2)
                End If
            ElseIf Spalte = 62 Then 'wenn 01.03.
                If Worksheets(15).Cells(3, 61) = 0 Then 'wenn Schaltjahr
                    Eintrag1 = Worksheets(15).Cells(Zeile, Spalte - 2)
                End If
            End If
            
            Select Case Worksheets(15).Cells(3, Spalte)
                Case "So"
                    If Eintrag1 = 0 Or Eintrag1 = "" Then 'wenn Montag da
                        TageSpesen14 = TageSpesen14 + 1
                    End If
                Case "Mo", "Di", "Mi", "Do"
                    If Eintrag = 0 Or Eintrag = "" Then 'wenn heute da
                        If Eintrag1 > 0 Then 'wenn morgen weg
                            TageSpesen14 = TageSpesen14 + 1
                        Else
                            TageSpesen28 = TageSpesen28 + 1
                        End If
                    End If
                    If Eintrag > 0 And (Eintrag1 = 0 Or Eintrag1 = "") Then 'wenn heute weg und morgen da
                        TageSpesen14 = TageSpesen14 + 1
                    End If
                Case "Fr"
                    If Eintrag = 0 Or Eintrag = "" Then 'wenn Freitag da
                        If Eintrag0 = 0 Or Eintrag0 = "" Then 'wenn Donnerstag da
                            TageSpesen14 = TageSpesen14 + 1
                        End If
                    End If
            End Select

            Select Case Spalte
                Case 32
                    Worksheets(15).Cells(Zeile, 369) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 370) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 61
                    Worksheets(15).Cells(Zeile, 371) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 372) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 92
                    Worksheets(15).Cells(Zeile, 373) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 374) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 122
                    Worksheets(15).Cells(Zeile, 375) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 376) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 153
                    Worksheets(15).Cells(Zeile, 377) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 378) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 183
                    Worksheets(15).Cells(Zeile, 379) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 380) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 214
                    Worksheets(15).Cells(Zeile, 381) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 382) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 245
                    Worksheets(15).Cells(Zeile, 383) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 384) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 275
                    Worksheets(15).Cells(Zeile, 385) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 386) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 306
                    Worksheets(15).Cells(Zeile, 387) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 388) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 336
                    Worksheets(15).Cells(Zeile, 389) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 390) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
                Case 367
                    Worksheets(15).Cells(Zeile, 391) = TageSpesen28
                    Worksheets(15).Cells(Zeile, 392) = TageSpesen14
                    TageSpesen28 = 0: TageSpesen14 = 0
            End Select
        Next Spalte
        Zeile = Zeile + 1
    Loop
End Sub
 

 

Danke + Grüße Daniel

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Reisekostenabrechnung fehlerhaft
29.10.2024 15:39:55 Daniel
NotSolved
29.10.2024 17:04:58 GTA
NotSolved
29.10.2024 19:25:14 ralf_b
NotSolved