• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

verplichte tijd notatie

Status
Niet open voor verdere reacties.

bikkel9

Gebruiker
Lid geworden
11 mrt 2008
Berichten
50
beste mensen
heb met een paar digibeten te maken
die je niet kan leren een tijnotatie als bv 23:00 in te voeren
er worden de meeste vreemde vormen gebruikt met . en , en ;
is het mogelijk deze vormen te weren en alleen en goede tijdsnotatie
geaccepteerd wordt zodat de totaal tijd aan het eind klopt
want 21.00 - 23:15 gaat niet werken
heb gezocht in het forum maar kon hierover niks vinden misschien de verkeerde zoekstring gebruikt

alvast bekankt

bikkel9:)
 
bikkel9,

Zet deze code achter het werkblad.
Vanaf cel B6 tot C210 zet hij van zelf : neer.
Je vult de tijd in als 1530 en hij maakt er 15:30 van.
Het bereik moet je naar eigen wensen aanpassen.

Code:
Private Sub Worksheet_Change(ByVal target As Range)
'invoeren van tijd in gehele getallen

On Error Resume Next
If Intersect(target, Range("B6:C210")) 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
 
Heb je al eens aan Validatie gedacht? Dit is alleen praktisch werkbaar als de gebruikers altijd moeten afronden op 15 min, maar gezien je voorbeeld dacht ik hieraan. Je kan elders in het bestand een lijst definiëren van 12:00, 12:15, 12:30 etc. en dan via Validatie de gebruikers dwingen een van de voorgedefinieerde tijden aan te klikken. Nogmaals, als de gebruikers ook bijv 12:16 in mogen vullen, gaat deze vlieger niet op.
 
beste hoornvan

bedankt voor je reactie
code gecopieerd en cellen aangepast maar krijg als uitkomst
bij bv 1515 00:00
ook kan je gewoon 15.15 invoeren
het beste lijkt mij dat de gebruikers gedwongen worden 15:15 in te voeren

beste verhoog
wat je al aangeeft gaat validatie niet werken omdat de tijd willekeurig wordt ingevoerd
 
bikkel9,
code gecopieerd en cellen aangepast maar krijg als uitkomst
bij bv 1515 00:00
ook kan je gewoon 15.15 invoeren
het beste lijkt mij dat de gebruikers gedwongen worden 15:15 in te voeren

Ik heb het nog even getest maar als ik 1515 invoer komt er na enter of tab 15:15 te staan.
Inderdaad je kunt ook 15.15 invoeren en dan blijft dit links staan.
Toen ik nog werkte heb ik deze macro jaren gebruikt en zelf nooit een probleem mee gehad.

Kan je er geen 220 volt op zetten als ze de tijd verkeerd invoeren dan een schok krijgen, zo leren ze het snel goed te doen.:D
Als ze het niet goed invoeren niet uitbetalen dan doen ze het de volgende keer wel goed.:D

Misschien weet iemand anders nog een oplossing.
 
Mooi Wim
@Bikkel9 dit werkt nochtans prima
Breng uur in als 1 getal

Mvg

Rudi
 

Bijlagen

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If IsDate(Target) = False And Target <> "" Then
    Select Case Len(Target)
    Case 4
      Target = Left(Target, 2) & Application.International(xlTimeSeparator) & Right(Target, 2)
    Case 5
      Target = Replace(Target, Mid(Target, 3, 1), Application.International(xlTimeSeparator))
    End Select
  End If
End Sub
 
mensen

bedankt voor de moeite hiermee kan ik weer verder prutsen
wim denk dat het met copieeren fout gegaan is maar het werkt wel
snb bedankt werkt goed
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan