denne vejledning viser, hvordan du formaterer datoer ved hjælp af VBA.
Format datoer i VBA
der er to metoder til at formatere datoer ved hjælp af VBA.
- egenskaben Talformat for celler / områder – for at formatere datoer gemt i celler
- funktionen VBA – Format-for at formatere datoer i VBA (f.eks. variabler)
NumberFormat-Dates
standardnummerformatet for en celle er generelt. Du kan vise værdier som tal, tekst, datoer, procenter eller valutaer ved at ændre talformatet. Egenskaben Talformat kan bruges i VBA til at indstille talformatet for datoer i en celle eller et område.
Bemærk: Hvis du vil se de forskellige standarddatoformater, der er tilgængelige, skal du gå til hjem > nummer, og du vil se indstillinger som Kort Dato, lang dato og klokkeslæt.
Kort Dato
indstillingen formatering af kort datonummer viser datoen i et kort, numerisk format.
følgende kode indstiller .Nummerformat ejendom af celle A1 til Kort Dato:
1
|
rækkevidde (“A1”).NumberFormat = “mm / dd / ÅÅÅÅ”
|
lang Dato
formatering af lang dato viser datoen i et længere, skriftligt format. Følgende kode indstiller .Nummerformat ejendom af celle A1 til lang Dato:
1
|
rækkevidde (“A1”).NumberFormat = “dddd, mmmm dd, ÅÅÅÅ”
|
brugerdefinerede datoer
for at se de brugerdefinerede nummerformatkoder, som du kan bruge i VBA til at formatere datoer, skal du gå til hjem > nummer og klikke på Dialogboksstarteren. Vælg fanen nummer, og vælg Brugerdefineret.
du kan enten vælge de brugerdefinerede indbyggede formater til din dato eller oprette dine egne brugerdefinerede datoformater. Følgende kode indstiller .NumberFormat ejendom celle A1 til en indbygget brugerdefineret datoformat:
1
|
Rækkevidde (“A1”).NumberFormat = “mmm-yy”
|
resultatet er:
følgende kode indstiller .NumberFormat egenskab af celle A1, til et brugerdefineret brugerdefineret datoformat:
1
|
rækkevidde (“A1”).NumberFormat = “dddd-dd-mmm-yy”
|
resultatet er:
ved at gennemgå de forudbyggede eksempler kan du lære, hvordan talformater skal indtastes. Du kan finde flere oplysninger i Microsofts dokumentation om talformater for datoer.
VBA-formatfunktion
som nævnt ovenfor er NumberFormat-metoden passende til indstilling af Numberformat for datoer, der er gemt i celler. I VBA kan du bruge funktionen Format til at konvertere datoer til strenge med bestemt datoformatering.
du vil bruge følgende syntaks til at formatere datoer:
Format(String_Representation, NumberFormatCode) hvor:
String_Representation – tekststrengen, der repræsenterer datoen.
NumberFormatCode-nummerformatkoden, der angiver, hvordan datoen skal vises.
følgende kode viser, hvordan du formaterer en tekststrengsrepræsentation af en dato som langt datoformat:
1
|
Msgboksformat(“1/1/2010”, “dddd, mmmm dd, ÅÅÅÅ”)
|
resultatet er:
Bemærk, at Formatfunktionen bruger samme datoformateringssyntaks som Talformat ovenfor.
følgende kode viser, hvordan du formaterer en tekststrengsrepræsentation af en dato som medium datoformat:
1
|
Msgboks Format (“09 oktober 2012”, “Medium Dato”)
|
resultatet er:
følgende kode viser, hvordan du formaterer en tekststrengsrepræsentation af en dato som et brugerdefineret format:
1
|
Msgboks Format (“09 oktober 2012″, ” dddd: dd / mm / ÅÅ”)
|
VBA Custom Format Builder
vores VBA Add-in: AutoMacro indeholder en brugerdefineret Format Builder til VBA Editor. Dette giver dig mulighed for at indstille brugerdefinerede formater og straks forhåndsvise output til din ønskede værdi:
VBA-tilføjelsen indeholder adskillige andre “kodegeneratorer”, et omfattende kodebibliotek og et udvalg af andre kodningsværktøjer. Det er den ultimative add-in for alle seriøse om VBA programmering!
VBA-Formatdato i Access
funktionen VBA-Formatdato fungerer nøjagtigt den samme i Access VBA som i Access VBA.
1
2
3
4
5
6
7
8
9
10
|
funktion GetDateFilter () som streng
‘Opret en streng for at få oplysninger fra 2 datofelter på en formular i Access
Dim strDateField som streng
If IsNull(Me.Dato) = falsk derefter
hvis IsNull(mig.= sand så mig.mig = mig.dato
hvis strDateField2 = “”derefter
GetDateFilter = strDateField & “mellem #” & Format(mig.dato, “mm / dd/ ÅÅÅÅ”) & “# og # ” & Format (mig.dato, “mm / dd / ÅÅÅÅ”) & “#”
slut hvis
slut hvis
Slutfunktion
|