Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketKlokkeslæts kode driller stadig

 Besvar Besvar
Forfatter
Ib Hansen Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
Direkte link til dette indlæg Emne: Klokkeslæts kode driller stadig
    Sendt: 18.Jan.2019 kl. 14:23
Hej Forum.

Jeg har skrevet om dette problem før - Her
Løsningen var at cellerne blev formateret som "tekst" og ikke tt:mm.

Desværre viser det sig, det ikke virker alligevel.
Ifm. klokkeslættene er der en masse skjule alm. Excel beregninger, der alle er formaterede til [t]:mm.
Og det giver #VÆRDI fejl, når "tekst" formateringen bruges.

Jeg har beskrevet problemet i det vedhæftede Test ark og en mulig løsning på problemet.
Jeg skal bare have hjælp til at lave koden, da jeg ikke selv kan sætte den sammen.

Er der en eller anden venlig sjæl, der kan hjælpe med dette.



På forhånd tak.

Mvh.
Ib
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)
Til top



Til top
icet Se dropdown
Bronze bruger
Bronze bruger


Medlem: 08.Nov.2013
Status: Offline
Point: 95
Direkte link til dette indlæg Sendt: 19.Jan.2019 kl. 10:08
Hej måske dette kan bruges det er noget jeg har klippet og klistret fra indernettet :-)

'''''''''''''''''''''''''''''''
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim TimeStr As String
On Error Resume Next
If Application.Intersect(Target, Range("A1:A100")) Is Nothing Then
    Exit Sub
End If

If Target.Cells.Count > 1 Then
    Exit Sub
End If
Application.EnableEvents = False
With Target
If .HasFormula = False Then
    Select Case Len(.Value)
        Case 1
            TimeStr = .Value & "0:00"
        Case 2
            TimeStr = .Value & ":00"
        Case 3
            TimeStr = Left(.Value, 1) & ":" & _
            Right(.Value, 2)
        Case 4
            TimeStr = Left(.Value, 2) & ":" & _
            Right(.Value, 2)
        Case 5
            TimeStr = Left(.Value, 1) & ":" & _
            Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
        Case 6
            TimeStr = Left(.Value, 2) & ":" & _
            Mid(.Value, 3, 2) & ":" & Right(.Value, 2)
        Case Else
            Err.Raise 0
    End Select
   .Value = TimeValue(TimeStr)
Target.Offset(0, 1).Activate
End If
End With
Application.EnableEvents = True
Exit Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Til top
icet Se dropdown
Bronze bruger
Bronze bruger


Medlem: 08.Nov.2013
Status: Offline
Point: 95
Direkte link til dette indlæg Sendt: 19.Jan.2019 kl. 10:18
har også dette liggende :-)

''''''''''''''Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case KeyAscii
    Case vbKey0 To vbKey9, vbKeyBack, vbKeyClear, vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDown, vbKeyTab
  Case Else
    KeyAscii = 0: Beep
    MsgBox "Der skal ikke bruges separator i klokkeslættet !" _
    & vbNewLine & vbNewLine & "Skriv klokkeslættet som et helt tal uden separator." _
    & vbNewLine & "Eksempel: 1245"
  End Select
End Sub
''''''''''''''''''''''''''''''''''''''''''
Til top
Ib Hansen Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
Direkte link til dette indlæg Sendt: 19.Jan.2019 kl. 11:27
Hej icet.

Tak for dit forslag.

Din sidste kode 
Den er til en Textbox i en Userform og den bruger jeg selv mange steder.

Din første CASE kode
Jeg har prøvet at indsætte den i mit ark.
Den gør hvad den skal, hvis et klokkeslæt tastes med komma og slutter på 00.
F.eks. 13,00 bliver til 13:00.

Men hvis der tastes et tal uden separator, skal den indsætte : (kolon) der rigtige sted og det gør den ikke altid.
F.eks. 123 bliver til 01:23. 
Men 1 bliver til 00:01.

Jeg har selv spekuleret på, om man kan lave komma og slutter på 00 som en Case.
Og det kan man åbenbart.

Jeg kan se at Case 3 til 6 er ens i de to koder.
Så skal jeg bare finde ud af at koble din Case 1 og 2min Case 1 til 6.

Det kigger jeg på - Forhåbentlig kan jeg finde ud af det Confused
Under alle omstændigheder vender jeg tilbage Smile

Mvh.
Ib
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)
Til top
Bjarnehansen Se dropdown
Platin bruger
Platin bruger
Avatar

Medlem: 20.Nov.2011
Land: DK
Status: Offline
Point: 5585
Direkte link til dette indlæg Sendt: 19.Jan.2019 kl. 14:07
F.eks. 123 bliver til 01:23. 
Men 1 bliver til 00:01.
er da ikke rigtigt den fylder jo op fra højre,
1 bliver til  00:01
10 bliver til 00:10
123 bliver til 01:23
1234 bliver til 12:34 er det ikke rigtigt?
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
Til top
Ib Hansen Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
Direkte link til dette indlæg Sendt: 19.Jan.2019 kl. 15:43
Hej Bjarne.

Jo det er helt korrekt.
Og hvis der bruges en separator, kommer der en fejlmeddelelse og dét der er tastet i cellen slettes,

Men, hvis man taster et klokkeslæt med komma-separator og klokkeslættet ender på 00-minutter, kommer der ingen fejlmeddelelse.
Den skriver bare et forkert klokkeslæt.
11,00 bliver til 00:11.

Prøv først at taste 13.00 - Med punktum - Her kommer fejlmeddelelsen.
Prøv næst at skrive 13,01 - Med komma - Her kommer fejlmeddelelsen.
Prøv sidst at taste 13,00 - Med komma - Her skriver den 00:13.

Hvis du så formaterer selve klokkeslæts-cellen som "Tekst", kommer fejlmeddelelsen altid, når en separator bruges.
Men så laver den bare #VÆRDI fejl i nogle af de andre beregninger, i de skjulte celler.

Ps. Jeg havde skrevet fejl i det du markerede med rødt, men opdagede det for sent, så jeg ikke kunne rette fejlen.

Men vi kan prøve at gå på TeamViewer, så jeg kan vise dig det Tongue
Ring når du har tid...
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk