Avatar billede splokit Nybegynder
07. maj 2007 - 10:54 Der er 2 kommentarer og
1 løsning

Hjælp til fejlfinde tids kode i vb

Hey jeg har et lille problem med at få min kode til at virke,
er der nogle som kan se hvor fejlen er!?

Sub Tid()
For r = 11 To 40
A = TimeValue("03:59:00") '"0,165972222222222"
B = TimeValue("23:59:59") '"0,999988425925926"
C = TimeValue("00:01:00") '"0,000694444444444444"
D = TimeValue("00:00:59") '"0,00068287037037037"
Ft = Format(Cells(r, 4), "hh:mm:ss") 'Førtid
T = Format(Cells(r, 5), "hh:mm:ss") 'Tid
Et = Format(Cells(r, 6), "hh:mm:ss") 'Eftertid
V1 = Format(Cells(r, 8), "dd-mm-yyyy hh:mm")
V2 = Format(Cells(r, 7), "dd-mm-yyyy hh:mm")
If T <> "" Then
  If T = "" Or T < A Then
    V1 = T + B - Ft + C - D + Format(Now(), "dd-mm-yyyy")
  Else
    V1 = T + B - Ft + C - D + Format(Now() - 1, "dd-mm-yyyy")
  End If
Else
End If
If T <> "" Then
  If T = "" Or T < A Then
    If Ft = "" Then
    V2 = T + Et + Format(Now() + 1, "dd-mm-yyyy")
    Else
      V2 = T + Format(Now() + 1, "dd-mm-yyyy")
    End If
  Else
    If Ft = "" Then
      V2 = T + Et + Format(Now(), "dd-mm-yyyy")
    Else
      V2 = T + Format(Now(), "dd-mm-yyyy")
    End If
  End If
End If
Next
End Sub
Avatar billede bak Forsker
08. maj 2007 - 10:23 #1
Her er 2 måder, resultatet er det samme. Det du skal være opmæksom på er at Format(Now(), "dd-mm-yyyy") kun giver en streng, ikke en rigtig dato. Pas på med Format..den skal efterfølgende laver om til vædi, der kan regnes på med DateValue / TimeValue

Sub Tid()
    For r = 11 To 40
        A = TimeValue("03:59:00")    '"0,165972222222222"
        B = TimeValue("23:59:59")    '"0,999988425925926"
        C = TimeValue("00:01:00")    '"0,000694444444444444"
        D = TimeValue("00:00:59")    '"0,00068287037037037"
        Ft = TimeValue(Format(Cells(r, 4), "hh:mm:ss"))    'Førtid
        T = TimeValue(Format(Cells(r, 5), "hh:mm:ss"))    'Tid
        Et = TimeValue(Format(Cells(r, 6), "hh:mm:ss"))    'Eftertid
        V1 = DateValue(Format(Cells(r, 8), "dd-mm-yyyy hh:mm"))
        V2 = DateValue(Format(Cells(r, 7), "dd-mm-yyyy hh:mm"))
        If T <> "" Then
            If T = "" Or T < A Then
                V1 = T + B - Ft + C - D + DateValue(Format(Now(), "dd-mm-yyyy"))
            Else
                V1 = T + B - Ft + C - D + DateValue(Format(Now() - 1, "dd-mm-yyyy"))
            End If
        Else
        End If
        If T <> "" Then
            If T = "" Or T < A Then
                If Ft = "" Then
                    V2 = T + Et + DateValue(Format(Now() + 1, "dd-mm-yyyy"))
                Else
                    V2 = T + DateValue(Format(Now() + 1, "dd-mm-yyyy"))
                End If
            Else
                If Ft = "" Then
                    V2 = T + Et + DateValue(Format(Now(), "dd-mm-yyyy"))
                Else
                    V2 = T + DateValue(Format(Now(), "dd-mm-yyyy"))
                End If
            End If
        End If
    Next
End Sub


Sub Tid2()
    For r = 11 To 40
        A = TimeValue("03:59:00")    '"0,165972222222222"
        B = TimeValue("23:59:59")    '"0,999988425925926"
        C = TimeValue("00:01:00")    '"0,000694444444444444"
        D = TimeValue("00:00:59")    '"0,00068287037037037"
        Ft = Cells(r, 4)    'Førtid
        T = Cells(r, 5)    'Tid
        Et = Cells(r, 6)
        V1 = Cells(r, 8)
        V2 = Cells(r, 7)
        If T <> "" Then
            If T < A Then
                V1 = T + B - Ft + C - D + Date
            Else
                V1 = T + B - Ft + C - D + (Date - 1)
            End If
        Else
        End If
        If T <> "" Then
            If T < A Then
                If Ft = "" Then
                    V2 = T + Et + (Date + 1)
                Else
                    V2 = T + (Date + 1)
                End If
            Else
                If Ft = "" Then
                    V2 = T + Et + Date
                Else
                    V2 = T + Date
                End If
            End If
        End If
    Next
End Sub
Avatar billede splokit Nybegynder
09. maj 2007 - 08:54 #2
V1 og v2 kan jeg ikke få til at virke uden at lave dem om til cells()
ellers så virker det helt fint ser det ud til... og tak for informationen om format
tror det vil gøre det nemmere for mig i fremtiden.

Smid et svar...
Avatar billede bak Forsker
09. maj 2007 - 10:03 #3
ok :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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

IT-JOB

Capgemini Danmark A/S

AI Data Architect

Rambøll Management Consulting

Senior AI Engineer

Politiets Efterretningstjeneste

AI/ML udvikler i PET