Avatar billede friiiiis Novice
02. maj 2011 - 11:48 Der er 2 kommentarer og
1 løsning

DateTime i VBA

Hej

Jeg sætter en datetime ind i et excel via en makro:

Range("D250").NumberFormat = "dd-mm-yyyy hh:mm:ss"
Range("D250").Value = Format(Now, "dd-mm-yyyy hh:nn:ss")

Problemet er at Excel selv "tænker" og nogle gange ændre formateringen så den bliver ændret fra "dd-mm-yyy ..." til "mm-dd-yyyy" - hvordan undgår jeg det?

Altså f.eks. ændrer den datoen 11 marts 2011 (11-03-2011) til 3 november 2011 (03-11-2011) SELVOM jeg bruger NumberFormat = "dd-mm-yyyy hh:mm:ss"
Avatar billede Ialocin Novice
02. maj 2011 - 12:22 #1
Hej Friiiis

Aner ikke hvad Excel foretager sig ??
Måske det har noget at gøre med, at du formaterer cellen/værdien 2 gange ??


Prøv derfor følgende kodestump:

Range("A1").NumberFormat = "dd-mm-yyyy hh:mm:ss"
Range("A1").Value = Now


Det virker i min Excel 2003 version.

Med venlig hilsen, Nicolai
Avatar billede nephilim Nybegynder
02. maj 2011 - 21:51 #2
Hvis du ikke skal bruge værdien til noget beregning/filtrering efterfølgende kan du jo også smide et "'" foran så den regner feltet som tekst.

Men ellers har jeg heller ikke haft dit problem
Avatar billede sifuentes Nybegynder
10. maj 2011 - 21:28 #3
03-11-2011, er amerikansk notation for 11 marts og altså ganske korrekt. Afgørende faktor er dine internationale indstillinger i Windows kontrolpanel. Her skal du vælge om du vil have dansk eller US formatering.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester