VBA formāta datums | Kā mainīt datuma formātu VBA kodā?

Excel VBA formāta datums

Lai formatētu datumu VBA, mēs izmantojam pašu iebūvēto FORMAT funkciju, tā ņem ievadi kā datuma formātu un atgriež vēlamo nepieciešamo formātu, šai funkcijai nepieciešamie argumenti ir pati izteiksme un formāta tips.

Datuma un laika formatēšana ir jutīgas lietas programmā Excel, un tas pats attiecas arī uz VBA. Noklusējuma datums un laiks ir balstīts uz sistēmas datumu, kurā strādājam, un tas dažādās sistēmās var atšķirties. Šajā rakstā mēs parādīsim dažādas metodes, kā formatēt datumus ar VBA kodiem.

Lai mainītu datuma formātu ar VBA kodēšanu, mums jāapzinās, kādi ir datuma formāti, un tā ietekme uz datumu.

Zemāk esošajā tabulā parādīts atšķirīgais datuma formatējums un to kodi.

Tātad, ja ņemat vērā iepriekš minēto diagrammas datuma formatēšanu, izmantojot VBA kodēšanu, tas nemaz nav grūts uzdevums.

Kā mainīt datuma formātu VBA?

Tālāk ir norādīti Excel VBA datuma formāta piemēri.

Šo VBA formāta datuma Excel veidni varat lejupielādēt šeit - VBA formāta datuma Excel veidne

1. piemērs

Piemēram, vairākās darblapas šūnās mums ir viens un tas pats datums, kā parādīts zemāk.

Tagad mēs vienam datumam piemērosim dažādus datuma formātus, lai redzētu ietekmi uz dažādiem datuma formāta kodiem.

Vispirms kopējiet tos pašus datus arī nākamajā kolonnā, lai redzētu ietekmi.

Pirmajā datumā, ti, šūnā A1, mēs izmantosim formātu “DD-MM-GGGG” .

Vispirms kodā mums jāizvēlas šūna, izmantojot objektu RANGE .

Kods:

 Apakšdatuma_formāts_piemērs1 () diapazons ("A1") Beigu apakšgrupa 

Tā kā mēs mainām šūnas datuma formātu, mums ir jāpiekļūst objekta RANGE īpašībai “ Numura formāts ”.

Kods:

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

Pēc piekļuves “ Ciparu formātam ” mums jāiestata ciparu formāts, liekot vienādības zīmi, un formāta kods jāpiemēro pēdiņās.

Kods:

 Sub Date_Format_Example1 () Diapazons ("A1"). NumberFormat = "dd-mm-yyy" 'Tas datumu saīsinās līdz beigām "23-10-2019" End Sub 

Kad mēs izpildīsim šo kodu, šūnā A1 ciparu formāts tiks lietots kā “ DD-MM-GGG ”.

Izeja:

2. piemērs

Līdzīgi esmu lietojis dažādus formatēšanas kodus arī citām šūnām, un zemāk jums ir VBA kods.

Kods:

Sub Date_Format_Example2 () diapazons ("A1"). NumberFormat = "dd-mm-yyy" 'Tas mainīs datumu uz "23-10-2019" diapazonu ("A2"). NumberFormat = "ddd-mm-yyy" 'Tas mainīs datumu uz "Wed-10-2019" diapazonu ("A3"). NumberFormat = "dddd-mm-yyy"' Tas mainīs datumu uz "Wednesday-10-2019" diapazons ("A4") .NumberFormat = "dd-mmm-yyy" 'Tas mainīs datumu uz "2019. gada 23. oktobris" ("A5"). NumberFormat = "dd-mmmm-yyy"' Tas mainīs datumu uz "23- 2019. gada oktobris "Diapazons (" A6 "). NumberFormat =" dd-mm-yy "'Tas mainīs datumu uz" 23-10-19 "diapazonu (" A7 "). NumberFormat =" ddd mmm yyyy "' Tas mainīs datumu uz "Trešdien, 2019. gada oktobris "Diapazons (" A8 "). NumberFormat =" dddd mmmm gggg "'Tas mainīs datumu uz" Trešdiena, 2019. gada oktobris "Beigu apakšdaļa

Šī koda rezultāts būs šāds.

Izeja:

Mainīt datuma formātu, izmantojot funkciju FORMAT

VBA mums ir funkcija ar nosaukumu FORMAT, kuru var izmantot, lai šūnai piemērotu vēlamo formātu.

Mums vienkārši jānorāda, kāda ir “Expression” vērtība, un attiecīgi jāpiemēro “Format”.

Skatiet piemēru zemāk esošajā kodā.

Kods:

 Sub Date_Format_Example3 () Dim MyVal kā variants MyVal = 43586 MsgBox formāts (MyVal, "DD-MM-GGGG") Beigu apakšdaļa 

Iepriekš minētajā kodā mainīgo esmu definējis kā variantu (kurā var ievietot jebkuru vērtību).

Kods:

 Dim MyVal kā variants 

Tālāk šim mainīgajam esmu piešķīris vērtību 43586.

Kods:

MyVal = 43586

Pēc tam ziņojuma lodziņā esmu parādījis mainīgā rezultātu, bet pirms rezultāta parādīšanas mēs izmantojām funkciju “ FORMAT ”, lai formatētu mainīgā “ MyVal ” vērtību, un formāts ir “ DD-MM- GGGG ”.

Kods:

MsgBox formāts (MyVal, "DD-MM-GGG")

Labi, palaidīsim kodu un redzēsim rezultātu VBA ziņojumu lodziņā.

Izeja:

Kā redzat iepriekš, rezultāts tiek parādīts kā “ 01.05.2019. ”.

Tagad jums jābrīnās, vai mēs esam piegādājuši sērijas numuru, bet rezultāts tiek rādīts kā datums. Tas notiek tāpēc, ka Excel datumu glabā kā sērijas numurus, tāpēc vērtība 43586 ir vienāda ar datumu “05.05.2019.”, Un, ja palielināsiet skaitli par 1, ti, 43587, datums būs “02.05.2019.”.

Kods:

 Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") Beigu apakšdaļa 

Atceramās lietas

  • Noklusējuma datums jūsu sistēmā tiks piemērots arī jūsu Excel.
  • Rekvizītu Numura formāts var izmantot, lai mainītu datuma formātu VBA.
  • Izmantojot funkciju FORMAT, mēs varam mainīt datuma formātu.
  • Excel saglabā datumu kā sērijas numurus, un, ja lietojat datuma formātu, tas attiecīgi tiks parādīts.

$config[zx-auto] not found$config[zx-overlay] not found