Ulike måter å formatere datoer i VBA

Ulike måter å formatere dato i VBA inkludere disse for å skape dato strenger med stavet måneder, formatering med bare tall, med hverdager, og med tilpassede formater. Du kan se de forhåndsinnstilte datoformater som er tilgjengelige i VBA ved hjelp av Excel standard grensesnitt. Klikk på den lille pilen nederst til høyre på "Home" -kategorien er "Number" panel for å vise en liste over disse formatene.

lange formater

En måte du kan formatere datoer med VBA er å bruke en rekke "m" tegn for å indikere de lange navnene på månedene. For eksempel, vil formatet "mmmm" gi bare stavet ut teksten "desember" hvis datoen du formaterer er i desember. Hvis du ønsker en tre bokstaver måned, bruk "mmm", som i "Selection.NumberFormat =" mmm dd, åååå "" for datoer som "31 desember 1966." Legg merke til at bruk av "d" for å representere tegn på dagen.

korte formater

Hvis du vil ha tall i stedet for stavet ut tekst for dine datoer, bruker du bare en eller to formateringstegn for hver måned. For eksempel "Selection.NumberFormat =" mm / dd / åååå "" for datoer som "12/31/1966". For "12/66", bruker du formateringsstreng "mm / åå," eller bare "m / y."

Datoer med Weekday

Hvis du vil formatere en date med en stavet ut dagen, bruke fire "d" tegn for å indikere dagen. For eksempel "Selection.NumberFormat =" dddd, mmm dd, åååå "" for datoer som "Lørdag, 31. desember 1966." For å forkorte dagen uten å bruke tall, bruke tre "d" tegn i stedet for fire, som i "ddd, mmm dd, åååå".

Custom datoformater

Du kan lage en tilpasset datoformat i VBA ved hjelp av noen skilletegn i tillegg til de vanlige de av "/" og "-". For eksempel kan du bruke en uttalelse som "Selection.NumberFormat =" mm ~ dd ~ åå "" for å produsere datoer som "12 ~ 31 ~ 66." Du kan velge en egendefinert format bare for moro skyld av stil, eller for å forberede dato strenger for programmer som krever spesifikke tegn for deres innspill.

Eksempel Program

Følgende eksempel VBA-programmet kan du raskt prøve ut forskjellige datoformater. Lim programmet i VBA programmering miljø, som du kan gå inn ved å trykke på "Alt" og "F11" samtidig etter åpning Excel. Etter å ha kjørt programmet ved å trykke "F5", skriver en datoformat når du blir bedt, for eksempel "mm / dd / åå." Programmet vil vise gjeldende dato i formatet du har angitt.

Sub FormatDates ()
Dim FMT, s1

fmt = InputBox("Type a date format")
s1 = Format(Now, fmt)
MsgBox s1

End Sub