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

Satura rādītājs

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 jūs paturat prātā iepriekš minēto diagrammu, datuma formatēšana, izmantojot VBA kodēšanu, 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.

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 “ Number Format ”.

Kods:

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

Pēc piekļuves skaitļu formātam mums jāiestata ciparu formāts, liekot vienādības zīmi, un formāta kods jāpielieto divkāršās pēdiņās.

Kods:

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

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 ir redzams VBA kods jums.

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 "Wed Oct 2019"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ņojumu lodziņā esmu parādījis mainīgā rezultātu, bet, pirms mēs parādām rezultātu, mēs izmantojām funkciju “ FORMAT ”, lai formatētu mainīgā “MyVal” vērtību , un tiek norādīts formāts. “ 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 ir jautājums, vai mēs esam piegādājuši sērijas numuru, bet rezultāts tiek parā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 “2019.05.05. ”.

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 jūs lietojat datuma formātu, tas tiks atbilstoši parādīts.

Interesanti raksti...