Avatar billede splokit Nybegynder
19. maj 2006 - 15:30 Der er 10 kommentarer og
1 løsning

Hvis tid i vb

Hvis en celle har en tid som er 24:20 skal den lave den om til 00:20 og hvis den er 25:00 skal den lave den om til 01:00 osv

tiderne kommer i "E11:E40" Og det er ikke alle celler der har tid så hvis der ikke er nogle værdi skal den ikke gøre noget og hvis tiden er normal skal den heller ikke gøre noger...
19. maj 2006 - 15:35 #1
Formater cellerne med tt:mm, så korrigeres der automatisk for det.
Avatar billede splokit Nybegynder
19. maj 2006 - 15:47 #2
Nej for de værdier der er, er ikke tid og der er en formel som laver det om til tid men den død hvis teksten er 24:00 og der over hvor hvis den er i normal tid kan den gøre det så derfor skal jeg have en der ser on de tider som er i de celler er normale og hvis ikke lave dem om til normale "24:21 = 00:21" osv...
Avatar billede splokit Nybegynder
19. maj 2006 - 15:57 #3
hvis denne vbkode kan laves om til at tage 24:00 som 00:00 og 25:00 som 01:00 osv vil den kunne gøre det over en gang

Sub tid()
  Range("E11:E40").Select
   
  Dim c As Range
  For Each c In Selection
      If c <> "" Then
        c = TimeValue(c.text)
        c.NumberFormat = "hh:mm"

    End If
    Next
End Sub
Avatar billede excelent Ekspert
19. maj 2006 - 20:12 #4
Sub tid()
  Dim c As Range, x, x2
  Range("E11:E40").Select
  For Each c In Selection
    If c <> "" Then
      If Left(c, 2) >= 24 Then x = Left(c, 2) - 24: x2 = x & Right(c, 3)
        c = TimeValue(x2)
      c.NumberFormat = "hh:mm"
    End If
  Next
End Sub
Avatar billede splokit Nybegynder
22. maj 2006 - 17:21 #5
Hvis Jeg fjerner c = TimeValue(x2) Virker den...
Kom med svar Takker
Avatar billede excelent Ekspert
22. maj 2006 - 17:29 #6
velbekom :)
Avatar billede splokit Nybegynder
22. maj 2006 - 17:29 #7
Kan du også gøre så den fjerner "01-01-1900  00:00:00" Og kun skriver 00:00
Avatar billede excelent Ekspert
22. maj 2006 - 17:30 #8
jeg skal prøve,- vender tilbage
Avatar billede excelent Ekspert
22. maj 2006 - 17:53 #9
kommer denne - "01-01-1900  00:00:00" også i område E11:E40  ?
Avatar billede splokit Nybegynder
22. maj 2006 - 18:15 #10
Ja men kun hvis tid er lavet om fra 24:00 el 25:00
Avatar billede excelent Ekspert
22. maj 2006 - 18:35 #11
prøv lige :

Sub tid()
Dim c As Range, x, x2
  Range("E11:E40").Select
  For Each c In Selection
    If Left(c, 2) >= 24 Then
      x = Left(c, 2) - 24
      x2 = x & Right(c, 3)
      c = TimeValue(x2)
    c.NumberFormat = "hh:mm"
    End If
  If Len(c) > 8 Then c = Right(c, 5)
  If c.NumberFormat <> "hh:mm" Then c.NumberFormat = "hh:mm"
Next
End Sub
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