Avatar billede mal Nybegynder
19. september 2002 - 23:26 Der er 1 kommentar og
1 løsning

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 galt


I 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
Avatar billede mal Nybegynder
24. september 2002 - 20:58 #1
Jeg har løst problemet ..... programmet er for at det kan virke perfekt nød til at virke over 2 forskellige programmer
Avatar billede mal Nybegynder
24. september 2002 - 20:59 #2
Altså 2 funktioner
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester