Dato for VBA -format

Denne opplæringen vil demonstrere hvordan du formaterer datoer ved hjelp av VBA.

Formatdatoer i VBA

Det er to metoder for å formatere datoer ved hjelp av VBA.

  1. Egenskapen NumberFormat for celler / områder - For å formatere datoer som er lagret i celler
  2. VBA -formatfunksjonen - For å formatere datoer i VBA (eks. Variabler)

NumberFormat - Datoer

Standardnummerformatet for en celle i Excel er Generelt. Du kan vise verdier som tall, tekst, datoer, prosenter eller valutaer ved å endre tallformatet. Egenskapen NumberFormat kan brukes i VBA til å angi tallformatet for datoer i en celle eller et område.

Merk: For å se de forskjellige standard datoformatene som er tilgjengelige i Excel, gå til Hjem> Nummer, og du vil se alternativer som Kort dato, Lang dato og Tid.


Kort dato

Alternativet for kort datoformat viser datoen i et kort, numerisk format.

Følgende kode vil sette .NumberFormat -egenskapen til celle A1 til Kort dato:

1 Område ("A1"). NumberFormat = "mm/dd/åååå"

Lang date

Formatering av langt dato viser datoen i et lengre, skriftlig format. Følgende kode setter .NumberFormat -egenskapen til celle A1 til Long date:

1 Område ("A1"). NumberFormat = "dddd, mmmm dd, åååå"

Tilpassede datoer

For å se de egendefinerte tallformatkodene du kan bruke i VBA til å formatere datoer, går du til Hjem> Nummer og klikker på Dialog Box Launcher. Velg kategorien Nummer og velg Tilpasset.

Du kan enten velge de tilpassede innebygde formatene for datoen din eller opprette dine egne brukerdefinerte datoformater. Følgende kode vil sette egenskapen .NumberFormat for celle A1 til et innebygd tilpasset datoformat:

1 Område ("A1"). NumberFormat = "mmm-åå"

Resultatet er:

Følgende kode vil sette egenskapen .NumberFormat for celle A1 til et brukerdefinert tilpasset datoformat:

1 Område ("A1"). NumberFormat = "dddd-dd-mmm-åå"

Resultatet er:

Ved å gå gjennom Excels forhåndsbygde eksempler kan du lære hvordan NumberFormats skal angis. For mer informasjon, les Microsofts dokumentasjon om tallformater for datoer.

VBA -formatfunksjon

Som nevnt ovenfor er NumberFormat -metoden passende for å angi tallformat for datoer lagret i Excel -celler. I VBA kan du bruke Format -funksjonen til å konvertere datoer til strenger med bestemt datoformatering.

Du vil bruke følgende syntaks for å formatere datoer:

Format (String_Representation, NumberFormatCode) der:

String_Representation - tekststrengen som representerer datoen.

NumberFormatCode - nummerformatkoden som angir måten datoen skal vises på.

Følgende kode viser hvordan du formaterer en tekststrengrepresentasjon av et dato som et langt datoformat:

1 MsgBox -format ("1/1/2010", "dddd, mmmm dd, åååå")

Resultatet er:

Legg merke til at formateringsfunksjonen bruker samme syntaks for datoformatering som NumberFormat ovenfor.

Følgende kode viser hvordan du formaterer en tekststrengrepresentasjon av en dato som medium datoformat:

1 MsgBox -format ("09. oktober 2012", "Middels dato")

Resultatet er:

Følgende kode viser hvordan du formaterer en tekststrengrepresentasjon av en dato som et brukerdefinert format:

1 MsgBox -format ("09. oktober 2012", "dddd: dd/mm/åå")

VBA Custom Format Builder

Vårt VBA-tillegg: AutoMacro inneholder en Custom Format Builder for VBA Editor. Dette lar deg angi tilpassede formater og umiddelbart forhåndsvise utdataene for ønsket verdi:

VBA-tillegget inneholder mange andre "kodegeneratorer", et omfattende kodebibliotek og et utvalg andre kodingsverktøy. Det er det ultimate tillegget for alle som er seriøse med VBA-programmering!

VBA -format Dato i tilgang

VBA Format Date -funksjonen fungerer nøyaktig det samme i Access VBA som i Excel VBA.

12345678910 Funksjon GetDateFilter () som streng'opprett en streng for å få informasjon fra to datofelt på et skjema i AccessDim strDateField As StringIf IsNull (Me.txtSDate) = False ThenIf IsNull (Me.txtEDate) = True Then Me.txtEDate = Me.txtSDateIf strDateField2 = "" DaGetDateFilter = strDateField & "Between #" & Format (Me.txtSDate, "mm/dd/yyyy") & " # And #" & Format (Me.txtEDate, "mm/dd/yyyy") & " #"Slutt omSlutt omSluttfunksjon

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave