Tijd invoeren versnellen

Status
Niet open voor verdere reacties.

wielh01

Gebruiker
Lid geworden
10 aug 2008
Berichten
21
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
 
In combinatie met je huidige procedure? Dat wordt een lastige, omdat de simpelste variant (1-5 bijvoorbeeld) in een normale situatie al de datum 1-5-2018 oplevert. In jouw werkblad zou dat dan 'verkort' moeten worden tot 15 als invoer, en dan krijg je dus een tijd terug. Het is dus eigenlijk niet mogelijk om zonder toevoeging van het jaar een datum(getal) in te voeren waarop je een check kunt doen. Dus i.p.v. de invoer verkorten, dwing je de gebruiker om méér in te typen. Dat is een vorm van versnelling waar best wel een woord voor zal zijn, maar waar je niet gelukkiger van wordt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan