Excel funktion
Jeg har ... synes jeg selv ... lavet et lille fiks program ... som kan holde styr på min flekstid ... jeg kan desværre ikke få det til at vise noget, den skriver #værdi ... hvad har jeg gjort galtI cellen i excel arket står der
=Arbejdstid(A4;C4;D4)
Hvor A4 er en dato C4 er "overarbejde fra tiden" og D4 er "overarbejde til tiden"
I Visual Basic har jeg så skrevet .....
Hvor Arbejdstid!B2 er min arbejdstid begyndelse mandag
Hvor Arbejdstid!C1 er min sluttid mandag
Hvor Arbejdstid!B3 er min arbejdstid begyndelse tirsdag
OSV...
Option Explicit
Public Function Arbejdstid(Dato As Date, Fra As Integer, Til As Integer)
Dim Man1, Man2, Tir1, Tir2, Ons1, Ons2, Tor1, Tor2, Fre1, Fre2, Lor1, Lor2, Son1, Son2
Man1 = Arbejdstid!B2
Man2 = Arbejdstid!C1
Tir1 = Arbejdstid!B3
Tir2 = Arbejdstid!C3
Ons1 = Arbejdstid!B4
Ons2 = Arbejdstid!C4
Tor1 = Arbejdstid!B5
Tor2 = Arbejdstid!C5
Fre1 = Arbejdstid!B6
Fre2 = Arbejdstid!C6
Lor1 = Arbejdstid!B7
Lor2 = Arbejdstid!C7
Son1 = Arbejdstid!B8
Son2 = Arbejdstid!C8
Dim Magic
Magic = Weekday(Dato)
Dim Man0, Tir0, Ons0, Tor0, Fre0, Lor0, Son0
If Magic = 1 Then
Man0 = 1
Else
Man0 = 0
End If
If Magic = 2 Then
Tir0 = 1
Else
Tir0 = 0
End If
If Magic = 3 Then
Ons0 = 1
Else
Ons0 = 0
End If
If Magic = 4 Then
Tor0 = 1
Else
Tor0 = 0
End If
If Magic = 1 Then
Fre0 = 1
Else
Fre0 = 0
End If
If Magic = 1 Then
Lor0 = 1
Else
Lor0 = 0
End If
If Magic = 1 Then
Son0 = 1
Else
Son0 = 0
End If
Dim Man3, Tir3, Ons3, Tor3, Fre3, Lor3, Son3
Dim Man4, Tird, Onsd, Tord, Fred, Lord, Sond
If Fra > Man2 Then
Man3 = 0
Else
Man3 = 1
End If
If Til < Man1 Then
Man3 = Man3 * 1
Else: Man3 = -1
End If
If Fra > Tir2 Then
Tir3 = 0
Else
Tir3 = 1
End If
If Til < Tir1 Then
Tir3 = Tir3 * 1
Else: Tir3 = -1
End If
If Fra > Ons2 Then
Ons3 = 0
Else
Ons3 = 1
End If
If Til < Ons1 Then
Ons3 = Ons3 * 1
Else: Ons3 = -1
End If
If Fra > Tor2 Then
Tor3 = 0
Else
Tor3 = 1
End If
If Til < Tor1 Then
Tor3 = Tor3 * 1
Else: Tor3 = -1
End If
If Fra > Fre2 Then
Fre3 = 0
Else
Fre3 = 1
End If
If Til < Fre1 Then
Fre3 = Fre3 * 1
Else: Fre3 = -1
End If
If Fra > Lor2 Then
Lor3 = 0
Else
Lor3 = 1
End If
If Til < Lor1 Then
Lor3 = Lor3 * 1
Else: Lor3 = -1
End If
If Fra > Son2 Then
Son3 = 0
Else
Son3 = 1
End If
If Til < Son1 Then
Son3 = Son3 * 1
Else: Son3 = -1
End If
Arbejdstid = ((Man0 * Man3 * (Til - Fra)) + (Tir0 * Tir3 * (Til - Fra)) + (Ons0 * Ons3 * (Til - Fra)) + (Tor0 * Tor3 * (Til - Fra)) + (Fre0 * Fre3 * (Til - Fra)) + (Lor0 * Lor3 * (Til - Fra)) + (Son0 * Son3 * (Til - Fra)))
End Function
