VBA-format Dato - Hvordan endre datoformatet i VBA-koden?

Innholdsfortegnelse

Excel VBA-format dato

For å formatere en dato i VBA bruker vi selve den innebygde FORMAT-funksjonen, den tar input som datoformat og returnerer ønsket format som kreves, argumentene som kreves for denne funksjonen er selve uttrykket og formatet.

Formatering av dato og tid er følsomme ting i Excel, og det samme gjaldt også VBA. Standard dato og klokkeslett er basert på systemdatoen vi jobber med, som kan variere fra system til system. I denne artikkelen vil vi vise deg forskjellige teknikker for formatering av datoer med VBA-koder.

For å endre datoformat med VBA-koding, må vi være klar over hva datoformatene er og dens innvirkning på datoen.

Tabellen nedenfor viser forskjellig datoformatering og koder.

Så hvis du husker det ovennevnte diagrammet, er det ikke vanskelig å formatere datoen gjennom VBA-koding.

Hvordan endre datoformat i VBA?

Nedenfor er eksemplene på Excel VBA-datoformat.

Eksempel 1

For eksempel har vi samme dato i flere celler i regnearket, som vist nedenfor.

Nå vil vi bruke forskjellige datoformater for samme dato for å se effekten på forskjellige datoformatkoder.

Først kopierer du de samme dataene til neste kolonne for å se effekten.

For den første datoen, dvs. celle A1, bruker vi formatet “DD-MM-ÅÅÅÅ” .

I koden først må vi velge cellen ved å bruke RANGE- objektet.

Kode:

Sub Date_Format_Example1 () Range ("A1") End Sub

Siden vi endrer datoformatet for cellen, må vi få tilgang til " Number Format " -egenskapen til RANGE-objektet.

Kode:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub

Etter få tilgang til “ Number Format, ” må vi sette tallformatet ved å sette likhetstegn og bruke formatet koden i doble anførselstegn.

Kode:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Dette vil knytte datoen til "23-10-2019" End Sub

Når vi utfører denne koden, vil den bruke tallformatet til cellen A1 som " DD-MM-ÅÅÅ."

Produksjon:

Eksempel 2

På samme måte har jeg også brukt forskjellige formateringskoder for andre celler, og nedenfor er VBA-koden for deg.

Kode:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-ååå" "Dette vil endre datoen til" 23-10-2019 "Range (" A2 "). NumberFormat =" ddd-mm-ååå " 'Dette vil endre datoen til "Ons-10-2019" Område ("A3"). NumberFormat = "dddd-mm-åååå" "Dette vil endre datoen til" Onsdag-10-2019 "Område (" A4 ") .NumberFormat = "dd-mmm-ååå" "Dette vil endre datoen til" 23. oktober 2019 "Område (" A5 "). NumberFormat =" dd-mmmm-ååå "" Dette vil endre datoen til "23- Oktober-2019 "Range (" A6 "). NumberFormat =" dd-mm-yy "'Dette vil endre datoen til" 23-10-19 "Range (" A7 "). NumberFormat =" ddd mmm yyyy "' Dette vil endre datoen til "ons okt 2019"Område ("A8"). NumberFormat = "dddd mmmm åååå" 'Dette vil endre datoen til "Onsdag oktober 2019" Slutt Sub

Resultatet av denne koden blir som følger.

Produksjon:

Endre datoformat ved å bruke FORMAT-funksjonen

I VBA har vi en funksjon kalt FORMAT, som kan brukes til å bruke ønsket format på cellen.

Vi trenger bare å spesifisere hva verdien er for "Expression" og bruke "Format" deretter.

Se på koden nedenfor for et eksempel.

Kode:

Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub

I koden ovenfor har jeg definert variabelen som variant (som kan ha en hvilken som helst verdi).

Kode:

Dim MyVal Som Variant

Neste for denne variabelen har jeg tildelt verdien 43586.

Kode:

MyVal = 43586

Neste, i meldingsboksen, har jeg vist et resultat av den variable, men før vi viser resultatet, har vi brukt “ FORMAT ” -funksjonen til å formatere verdien av variabelen “MyVal , ” og formatet er gitt. “ DD-MM-ÅÅÅÅ.”

Kode:

MsgBox-format (MyVal, "DD-MM-ÅÅÅ")

Ok, la oss kjøre koden og se resultatet i meldingsboksen i VBA.

Produksjon:

Som du kan se ovenfor, vises resultatet som “ 01-05-2019 ”.

Nå lurer du sikkert på at vi har oppgitt serienummeret, men resultatet vises som datoen. Dette er fordi Excel lagrer datoen som serienumre, så verdien 43586 er lik datoen "01-05-2019", og hvis du øker tallet med 1, dvs. 43587, vil datoen være "02-05-2019 ”.

Kode:

Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub

Ting å huske

  • Standarddatoen for systemet ditt blir også brukt på excel.
  • Number Format-egenskapen kan brukes til å endre datoformatet i VBA.
  • Ved hjelp av FORMAT-funksjonen kan vi endre datoformatet.
  • Excel lagrer dato som serienumre, og hvis du bruker datoformat, vil det vises tilsvarende.

Interessante artikler...