A4papiertje
Gebruiker
- Lid geworden
- 24 nov 2015
- Berichten
- 20
Goedemorgen,
Ik ben bezig met het bouwen van een macro code om een . te vervangen door : bij invoer in een bepaald bereik.
De behoefte naar de macro is om tijden snel in te kunnen voeren met het toetsenbord, het is immers niet gemakkelijk om steeds de : in te voeren.
Ik ben bezig geweest met de code maar het lukt me niet deze waterdicht te krijgen.
Bij een aantal waarden gaat het goed bijvoorbeeld als ik 2.25 invoer komt er 2:25 maar als ik 2.00 invoer springt de cel naar een datum notatie en geeft hij niet 2:00 weer.
Hierbij de code en het bestand, zouden jullie willen helpen?
Alvast bedankt!
Bekijk bijlage Macro punt in tijd test.xlsm
Ik ben bezig met het bouwen van een macro code om een . te vervangen door : bij invoer in een bepaald bereik.
De behoefte naar de macro is om tijden snel in te kunnen voeren met het toetsenbord, het is immers niet gemakkelijk om steeds de : in te voeren.
Ik ben bezig geweest met de code maar het lukt me niet deze waterdicht te krijgen.
Bij een aantal waarden gaat het goed bijvoorbeeld als ik 2.25 invoer komt er 2:25 maar als ik 2.00 invoer springt de cel naar een datum notatie en geeft hij niet 2:00 weer.
Hierbij de code en het bestand, zouden jullie willen helpen?
Alvast bedankt!
Code:
Private Sub Worksheet_Change(ByVal target As Range)
On Error Resume Next
If Intersect(target, Range("C13:F19")) Is Nothing Then GoTo Einde
If IsEmpty(target) Then GoTo Einde
Range("C13:F19").NumberFormat = "h:mm"
If Len(target) > 0 Then
If (Right(target, 3) = ",00") Or (Right(target, 3) = ".00") Then
target = (Left(target, 1) & ":" & "00:00")
ElseIf Len(target) = 4 Then
target = (Left(target, 1) & ":" & Right(target, 2))
ElseIf Len(target) = 5 Then
target = (Left(target, 2) & ":" & Right(target, 2))
With Columns(1)
.NumberFormat = "h:mm"
.Replace What:=",", Replacement:=":", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
End With
Else
End If
ElseIf Len(target) = 0 Then
Else
MsgBox ("Graag juiste tijd invullen")
End If
Einde:
ActiveSheet.Calculate
End Sub
Bekijk bijlage Macro punt in tijd test.xlsm