Hallo,
Heel wat jaren geleden heeft Math1 een oplossing aangedragen voor het versneld invoeren van tijden in een excel werkblad. Nu denk ik dat dit ook mogelijk moet zijn voor het invoeren van datums. Kunt U me zeggen of ik in de onderstaande module/macro vba alleen enkele gegevens hoef te wijzigen om dit te bereiken en kun je hier dan spreken van een invoermasker zoals in access.
Groet
Wiel Hecker
math1 math1 is offline
Member
Geregistreerd
26 november 2005
Probeer volgende VBA routine eens.
hiermee kun je tijden als geheel getal invoeren bv 745 voor 7u45m en 30 voor 0u30m.
cel opmaak :mm
Private Sub Worksheet_Change(ByVal target As Range)
'invoeren van tijd in gehele getallen
On Error Resume Next
If Intersect(target, Range("A1:G100")) Is Nothing Then GoTo Einde
If IsEmpty(target) Then GoTo Einde
If Hour(target.Value) <> 0 Or Minute(target.Value) <> 0 Then GoTo Einde
Application.EnableEvents = False
If Int(target.Value / 100) < 0.1 Then
target = "00:" & target.Value
Else
target = Int(target.Value / 100) & ":" & Right(target.Value, 2)
End If
Application.EnableEvents = True
Einde:
ActiveSheet.Calculate
End Sub
de range A1:G100 kun je zelf aanpassen
groeten math
Heel wat jaren geleden heeft Math1 een oplossing aangedragen voor het versneld invoeren van tijden in een excel werkblad. Nu denk ik dat dit ook mogelijk moet zijn voor het invoeren van datums. Kunt U me zeggen of ik in de onderstaande module/macro vba alleen enkele gegevens hoef te wijzigen om dit te bereiken en kun je hier dan spreken van een invoermasker zoals in access.
Groet
Wiel Hecker
math1 math1 is offline
Member
Geregistreerd
26 november 2005
Probeer volgende VBA routine eens.
hiermee kun je tijden als geheel getal invoeren bv 745 voor 7u45m en 30 voor 0u30m.
cel opmaak :mm
Private Sub Worksheet_Change(ByVal target As Range)
'invoeren van tijd in gehele getallen
On Error Resume Next
If Intersect(target, Range("A1:G100")) Is Nothing Then GoTo Einde
If IsEmpty(target) Then GoTo Einde
If Hour(target.Value) <> 0 Or Minute(target.Value) <> 0 Then GoTo Einde
Application.EnableEvents = False
If Int(target.Value / 100) < 0.1 Then
target = "00:" & target.Value
Else
target = Int(target.Value / 100) & ":" & Right(target.Value, 2)
End If
Application.EnableEvents = True
Einde:
ActiveSheet.Calculate
End Sub
de range A1:G100 kun je zelf aanpassen
groeten math