06. februar 2003 - 16:08Der er
5 kommentarer og 1 løsning
Datoformatering i makro
Via en makro importerer jeg nogle datafiler, som bl.a. indeholder felter med datoer i formatet dd/mm/yy. For at kunne sortere på disse vil jeg gerne ændre formatet til dd-mm-yy (eller et andet egnet format). Det går fint, hvis jeg gør det manuelt (markerer kolonnerne, vælger Formatér Celler og vælger formatet dd-mm-yy). Men jeg vil gerne klare det inde fra makroen. Og her støder jeg på det problem, at kun datoer til og med den 12. i måneden bliver konverteret. Det lugter jo af amerikansk datoformat. Ved at indspille makroen og læse den genererede kode kan jeg da også konstatere, at den manuelle formatering dd-mm-yy indspilles som m/d/yy. Og det hjælper ikke, at man selv retter det i koden. Summa summarum: Det ser ud til, at Excel kan håndtere de forskellige formater, men at VBA ikke kan. Hvad er løsningen? (Jeg kører Excel 97 SR2. Formatet af mine kildedata vil jeg helst ikke pille ved)
Problemet er ikke så meget det med separatoren. Problemet er håndteringen af datoer i formatet dd-mm-yy (uanset separator). Hvis dd er større end 12 opfatter VBA det som tekst, og DateValue returnerer i så fald #VÆRDI. Men jeg har løst det ved at indsætte en kolonne hvor nabocellerne får formlen "=IF(ISTEXT(RC[-1]),DATEVALUE(RC[-1]),RC[-1])". Så vidt jeg kan se, er jeres forslag det samme udført i hhv. Excel og VBA, så b_hansen får pointene for at komme først med inspirationen.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.