het volgende probleem.
in een excel voer ik in een specifieke range tijden in.
tijden variëren tussen 4 tot 6 karakters met daarbij de laatste 2 als honderdste seconden.
bv 12,09 (12 seconden en 9 honderdste) of 1.34,81 ( 1-minuut, 34 seconden en 81 honderdste)
om de invoer makkelijker te maken heb ik in de sheet de volgende macro zodat ik geen punten, komma`s hoef in te voeren. 1.12,56 voer ik in als 11256 en dat werkt prima:
Private Sub Worksheet_Change(ByVal Bereik As Range)
Dim vVal
If Bereik.Cells.Count > 1 Then Exit Sub
If Intersect(Bereik, Range("F21:BB51")) Is Nothing Then Exit Sub
With Bereik
vVal = Format(.Value, "000000")
If IsNumeric(vVal) And Len(vVal) = 6 Then
Application.EnableEvents = False
.Value = Left(vVal, 2) & ":" & Mid(vVal, 3, 2) & "." & Right(vVal, 2)
.NumberFormat = "m.ss.00"
End If
End With
Application.EnableEvents = True
End Sub
hierbij is F21:BB51 de range
11256 wordt zichtbaar in de cel als 1.12,56 en dat is prima (format m.ss.00)
maar
2134 wordt zichtbaar in de cel als 0.21,34
de tijd is in orde maar het format had ik graag gezien als 21,34 dus format ss.00
heeft iemand een mooie oplossing in deze code welke het format verandert als er maar 4 cijfers worden ingegeven??
alvast bedankt.
Rik
in een excel voer ik in een specifieke range tijden in.
tijden variëren tussen 4 tot 6 karakters met daarbij de laatste 2 als honderdste seconden.
bv 12,09 (12 seconden en 9 honderdste) of 1.34,81 ( 1-minuut, 34 seconden en 81 honderdste)
om de invoer makkelijker te maken heb ik in de sheet de volgende macro zodat ik geen punten, komma`s hoef in te voeren. 1.12,56 voer ik in als 11256 en dat werkt prima:
Private Sub Worksheet_Change(ByVal Bereik As Range)
Dim vVal
If Bereik.Cells.Count > 1 Then Exit Sub
If Intersect(Bereik, Range("F21:BB51")) Is Nothing Then Exit Sub
With Bereik
vVal = Format(.Value, "000000")
If IsNumeric(vVal) And Len(vVal) = 6 Then
Application.EnableEvents = False
.Value = Left(vVal, 2) & ":" & Mid(vVal, 3, 2) & "." & Right(vVal, 2)
.NumberFormat = "m.ss.00"
End If
End With
Application.EnableEvents = True
End Sub
hierbij is F21:BB51 de range
11256 wordt zichtbaar in de cel als 1.12,56 en dat is prima (format m.ss.00)
maar
2134 wordt zichtbaar in de cel als 0.21,34
de tijd is in orde maar het format had ik graag gezien als 21,34 dus format ss.00
heeft iemand een mooie oplossing in deze code welke het format verandert als er maar 4 cijfers worden ingegeven??
alvast bedankt.
Rik