I dette eksempel viser jeg hvordan kan du sikre, at brugeren ikke indtaster en dato og et klokkeslæt, der er fremme i tiden. Det er velegnet til blandt en en logbog.
Til at løse opgaven er der brugt datavalidering, der findes i menuen/båndet Data, og lidt formler.
Skærmbillederne er fra Excel 2010, men det virker også i tidligere versioner.
Formular
Jeg har lavet denne simple formular med to felter; et felt til dato og et felt til klokkeslæt.
Der er lavet en kort vejledning til brugeren, som automatisk dukker op, når cellemarkøren er placeret på feltet (celle C2).
Indtaster brugeren en dato, der er i fremtiden (i eksemplet er dags dato er den 09-11-2011), så vises denne fejlmeddelelse:
Tilsvarende er der lavet en vejledning til brugeren, der automatisk dukker op, når markøren er placeret på feltet til klokkeslæt (celle C3).
Indtaster brugeren et tidspunkt, der er i fremtiden (i eksemplet er det aktuelle tidspunkt 08:35), så vises der en fejlmeddelelse:
Sådan er det lavet
For at lave ovenstående datavalidering kræver det kun, at du bruger lidt formler og funktionen Datavalidering.
Kontrol af dato
I kravspecifikationen er det defineret, at datoen skal være mellem 01-01-2000 og dags dato.
Startdato indtastes manuelt. Slutdato defineres som dags dato ved at bruge formlen =IDAG(). Formlen returnerer dags dato (hentet fra PCens operativsystem eller fra netværket).
Vejledningen til brugeren laves ved at indtaste det ønskede på fanebladet Meddelelse.
Fejlmeddelelsen, som skal vises, hvis brugeren alligevel taster forkert, defineres på fanebladet Fejlmeddelelse.
Når data er angivet på de tre faneblade, så er det bare at klikke på knappen OK.
Kontrol af klokkeslæt
Kontrollen af klokkeslæt er lidt mere omstændigt, da der i Excel ikke er en funktion, der blot returnerer det aktuelle klokkeslæt.
Formlen =NU() returnerer det aktuelle klokkeslæt, men den returnerer også datoen. Så datoen skal fjernes, før formlen kan bruges.
Formlen =TIME() returnerer timerne i et klokkeslæt og formlen =MINUT() returnerer minutterne i et klokkeslæt. De kan bruges, men der skal tages højde for at den returnerede værdi er et heltal. Derfor skal de returnerede værdier konverteres til et tal i Excel’s klokkeslæt-format.
Til det formål bruges formlen =TID().
Og så ser den samlede formel således ud:
Tallet 0 (nul) som den sidste parameter i formlen =TID() angiver sekunderne. Vær opmærksom på, at der er sat de rigtige paranteser de rigtige steder. Tilsvarende med semikoloner.
Så mangler der bare en vejledning.
Og en fejlmeddelelse, hvis brugeren indtaster forkert klokkeslæt.
Klik på knappen OK, når du er færdig.
God fornøjelse!