20. marts 2004 - 11:38Der er
6 kommentarer og 1 løsning
Datoformat og inputbox
I et større antal celler på et regneark indsættes en dato (den samme i dem alle), som brugeren angiver i en inputbox knyttet til en Date-variabel. Det virker fint, så længe brugeren indtaster noget, og valideringen af input virker også som den skal (cellerne er i øvrigt i forvejen formatteret som datoer, men det har vist ikke nogen betydning - nævnes blot til info). Men hvis brugeren klikker OK uden at have tastet et input, eller hvis brugeren klikker Cancel, får han en fejl af typen "Type mismatch" - hvor jeg gerne vil have, at der bare ikke sker noget. Hvordan undgår jeg denne fejl? Jeg har prøvet at knytte boxen til en string-variabel i stedet for en Date - så kører det sådan set, men datoen er bare ikke i datoformat. Den har jeg så på bedste træskomanér prøvet at konvertere ved hjælp af Excels DateValue-funktion, men det virker af en eller anden grund kun på nogle datoer, og jeg føler også, at dér er jeg på afveje.
Det glemte jeg at sige: det har jeg også prøvet, og det giver samme fejl. Den når slet ikke frem til tjekket - i debugging mode er "Dato = Inputbox()" gul.
Der var lige en detalje i dit svar jeg overså, nemlig at du deklarerede datoen som Variant. Det har jeg lige prøvet, men det giver samme resultat som med String, jfr. ovenfor.
Nå, nu kan jeg se, hvad problemet er, når datoerne kommer fra variable af String- og Varianttyperne: Datoerne bliver opfattet på amerikansk, dvs. 12-03-04 går fint, fordi programmet læser det som 3. december, mens 20-03-04 returneres som tekst, da der ikke er 20 måneder. Det er jo et helt andet problem, men hvis du (I ?) har løsningen på det, er jeg meget interesseret, da jeg er stødt på det i andre sammenhænge.
Problemet er løst ved at erstatte "dato" med "DateValue(dato)" i koden. Det, jeg først havde prøvet, og som ikke virkede, var - inde fra koden - at indsætte DateValue-funktionen i selve arket ved siden af returværdierne fra variablen. Hvorfor det ikke virker, kan jeg ikke gennemskue eller se nogen konsistens i, men jeg må videre... Som eneste bidragyder er pointene vel dine kabbak, ikke mindst da din halvbror bak engang hjalp min forhenværende fætter kmlp med et datevalue-problem uden at få point... Men så må du jo lige svare.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.