Dátum formátu VBA Ako zmeniť formát dátumu v kóde VBA?

Dátum formátu Excel VBA

Na formátovanie dátumu vo VBA používame samotnú zabudovanú funkciu FORMAT, ktorá berie vstup ako formát dátumu a vracia požadovaný požadovaný formát, argumenty požadované pre túto funkciu sú samotný výraz a typ formátu.

Formátovanie dátumu a času je v Exceli citlivá vec a to isté platí aj pre VBA. Predvolený dátum a čas je založený na systémovom dátume, na ktorom pracujeme, ktorý sa môže v jednotlivých systémoch líšiť. V tomto článku si ukážeme rôzne techniky formátovania dátumov pomocou kódov VBA.

Ak chcete zmeniť formát dátumu pomocou kódovania VBA, musíme si uvedomiť, aké sú formáty dátumu, a jeho vplyv na dátum.

Nasledujúca tabuľka zobrazuje rôzne formátovanie dátumu a ich kódy.

Pokiaľ teda pamätáte na to, vyššie uvedené formátovanie grafu pomocou kódovania VBA nie je vôbec náročná úloha.

Ako zmeniť formát dátumu vo VBA?

Nižšie uvádzame príklady formátu dátumu VBA programu Excel.

Príklad č

Napríklad máme rovnaký dátum vo viacerých bunkách tabuľky, ako je uvedené nižšie.

Teraz pre ten istý dátum použijeme rôzne formáty dátumu, aby sme videli vplyv v rôznych kódoch formátu dátumu.

Najskôr skopírujte rovnaké údaje do nasledujúceho stĺpca, aby ste videli vplyv.

Pre prvý dátum, tj. Bunku A1, použijeme formát „DD-MM-RRRR“ .

V kóde najskôr musíme bunku vybrať pomocou objektu RANGE .

Kód:

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

Pretože meníme formát dátumu bunky, musíme pristúpiť k vlastnosti „ Formát čísla “ objektu RANGE.

Kód:

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

Po prístupe k „ Číselnému formátu “ musíme nastaviť číselný formát znakom rovnosti a použiť formátovací kód v dvojitých úvodzovkách.

Kód:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-rrr" "Toto zmení dátum" 23-10-2019 "na koniec sub

Po vykonaní tohto kódu použije formát čísla v bunke A1 ako „ DD-MM-RRRR“.

Výkon:

Príklad č

Podobne som použil rôzne kódy formátovania aj pre ďalšie bunky a nižšie uvádzam kód VBA pre vás.

Kód:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-rrr" "Toto zmení dátum na" 23-10-2019 "rozsah (" A2 "). NumberFormat =" ddd-mm-rrr " „Týmto sa zmení dátum na rozsah„ St-10-2019 "(„ A3 "). NumberFormat =" dddd-mm-rrr "" Týmto sa zmení dátum na "streda-10-2019" ("A4") .NumberFormat = "dd-mmm-rrr" "Týmto sa zmení dátum na rozsah" 23. októbra 2019 "(" A5 "). NumberFormat =" dd-mmmm-rrr "" Týmto sa zmení dátum na "23- Október-2019 „Rozsah („ A6 “). NumberFormat =" dd-mm-rr "" Toto zmení dátum na rozsah „23-10-19" ("A7"). NumberFormat = "ddd mmm rrrr" "Toto zmení dátum na „St Okt 2019“Rozsah („A8“). NumberFormat = "dddd mmmm rrrr" 'Týmto sa zmení dátum na „streda október 2019“ End Sub

Výsledok tohto kódu bude nasledovný.

Výkon:

Zmeňte formát dátumu pomocou funkcie FORMAT

Vo VBA máme funkciu s názvom FORMAT, pomocou ktorej je možné na bunku použiť požadovaný formát.

Musíme len určiť, aká je hodnota výrazu „Expression“ a podľa toho použiť „Format“.

Príklad nájdete v nižšie uvedenom kóde.

Kód:

Sub Date_Format_Example3 () Dim MyVal ako variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-RRRR") End Sub

Vo vyššie uvedenom kóde som definoval premennú ako variant (ktorá môže obsahovať ľubovoľnú hodnotu).

Kód:

Dim MyVal ako variant

Ďalej pre túto premennú som priradil hodnotu ako 43586.

Kód:

MyVal = 43586

Potom v okne správy, som ukázal výsledok premenné, ale ako sme ukázať výsledok, my sme používali " FORMAT funkciu" formátovať hodnotu premennej "Mýval , " a formát je uvedený. „ DD-MM-RRRR.“

Kód:

Formát MsgBox (MyVal, „DD-MM-RRRR“)

Dobre, spustíme kód a uvidíme výsledok v okne správy vo VBA.

Výkon:

Ako vidíte vyššie, výsledok sa zobrazuje ako „ 01-05-2019 “.

Teraz vás určite zaujíma, že sme dodali sériové číslo, ale výsledok sa zobrazuje ako dátum. Je to tak preto, lebo program Excel ukladá dátum ako sériové čísla, takže hodnota 43586 sa rovná dátumu „01-05-2019“. Ak počet zvýšite o 1, tj. 43587, bude dátum „02-05-2019“. “.

Kód:

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

Na čo treba pamätať

  • Predvolený dátum vášho systému sa použije aj vo vašom programe Excel.
  • Vlastnosť Formát čísla sa dá použiť na zmenu formátu dátumu vo VBA.
  • Pomocou funkcie FORMAT môžeme zmeniť formát dátumu.
  • Excel ukladá dátum ako sériové čísla a ak použijete formát dátumu, zobrazí sa zodpovedajúcim spôsobom.

Zaujímavé články...