Petsa ng Format ng VBA | Paano baguhin ang Format ng Petsa sa VBA Code?

Petsa ng Format ng Excel VBA

Sa i-format ang isang petsa sa VBA ginagamit namin ang inbuilt na pagpapaandar na FORMAT mismo, tumatagal ito ng input bilang format ng petsa at ibabalik ang nais na format na kinakailangan, ang mga argumento na kinakailangan para sa pagpapaandar na ito ay ang expression mismo at ang uri ng format.

Ang pag-format ng petsa at oras ay mga sensitibong bagay sa excel at ang parehong bagay na inilapat din sa VBA. Ang default na petsa at oras ay batay sa petsa ng system kung saan kami nagtatrabaho, na maaaring magkakaiba sa bawat system. Sa artikulong ito, ipapakita namin sa iyo ang iba't ibang mga diskarte para sa pag-format ng mga petsa na may mga VBA code.

Upang baguhin ang format ng petsa sa pag-coding ng VBA, kailangan nating malaman kung ano ang mga format ng petsa at ang epekto nito sa petsa.

Ipinapakita ng talahanayan sa ibaba ang iba't ibang pag-format ng petsa at ang kanilang mga code.

Kaya, kung isasaisip mo na ang pag-format sa tsart sa itaas ang petsa sa pamamagitan ng pag-coding ng VBA ay hindi naman mahirap na gawain.

Paano Baguhin ang Format ng Petsa sa VBA?

Nasa ibaba ang mga halimbawa ng excel na format ng petsa ng VBA.

Maaari mong i-download ang VBA Format Date Excel Template na ito - VBA Format Date Excel Template

Halimbawa # 1

Halimbawa, mayroon kaming parehong petsa sa maraming mga cell ng worksheet tulad ng ipinakita sa ibaba.

Ngayon ay maglalapat kami ng iba't ibang mga format ng petsa para sa parehong petsa upang makita ang epekto sa iba't ibang mga code ng format ng petsa.

Una, kopyahin ang parehong data sa susunod na haligi din upang makita ang epekto.

Para sa unang petsa ibig sabihin cell A1 ilalapat namin ang "DD-MM-YYYY" format

Sa code muna, kailangan naming piliin ang cell sa pamamagitan ng paggamit ng PAGBABAGO bagay

Code:

 Sub Date_Format_Example1 () Saklaw ("A1") End Sub 

Dahil binabago namin ang format ng petsa ng cell kailangan namin i-access ang "Format ng Numero”Pag-aari ng bagay na RANGE.

Code:

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

Matapos ma-access ang “Format ng Numero”Kailangan naming itakda ang format ng numero sa pamamagitan ng paglalagay ng pantay na pag-sign at ilapat ang format code sa mga dobleng quote.

Code:

 Sub Date_Format_Example1 () Saklaw ("A1"). NumberFormat = "dd-mm-yyy" 'Dadalhin nito ang petsa sa "23-10-2019" End Sub 

Kapag naipatupad namin ang code na ito mailalapat ang format ng numero sa cell A1 bilang "DD-MM-YYY”.

Output:

Halimbawa # 2

Katulad nito, naglapat ako ng iba't ibang mga code ng pag-format para sa iba pang mga cell pati na rin at sa ibaba ay ang VBA code para sa iyo.

Code:

 Sub Date_Format_Example2 () Saklaw ("A1"). NumberFormat = "dd-mm-yyy" 'Papalitan nito ang petsa sa "23-10-2019" Saklaw ("A2"). NumberFormat = "ddd-mm-yyy" 'Papalitan nito ang petsa sa "Wed-10-2019" Saklaw ("A3"). NumberFormat = "dddd-mm-yyy"' Papalitan nito ang petsa sa "Miyerkules-10-2019" Saklaw ("A4") .NumberFormat = "dd-mmm-yyy" 'Papalitan nito ang petsa sa "23-Okt-2019" Saklaw ("A5"). NumberFormat = "dd-mmmm-yyy"' Papalitan nito ang petsa sa "23- Oktubre-2019 "Saklaw (" A6 "). NumberFormat =" dd-mm-yy "'Papalitan nito ang petsa sa" 23-10-19 "Saklaw (" A7 "). NumberFormat =" ddd mmm yyyy "' Ito babaguhin ang petsa sa "Wed Okt 2019" Saklaw ("A8"). NumberFormat = "dddd mmmm yyyy" 'Papalitan nito ang petsa sa "Miyerkules Oktubre 2019" End Sub 

Ang resulta ng code na ito ay ang mga sumusunod.

Output:

Baguhin ang Format ng Petsa sa pamamagitan ng Paggamit ng FORMAT Function

Sa VBA mayroon kaming pagpapaandar na tinatawag na FORMAT na maaaring magamit upang mailapat ang nais na format sa cell.

Kailangan lang naming tukuyin kung ano ang halaga para sa "Ekspresyon" at ilapat ang "Format" nang naaayon.

Tingnan ang code sa ibaba para sa isang halimbawa.

Code:

 Sub Date_Format_Example3 () Madilim ang MyVal Bilang Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub 

Sa code sa itaas, tinukoy ko ang variable bilang variant (na maaaring magkaroon ng anumang halaga).

Code:

 Dim MyVal Bilang Variant 

Susunod para sa variable na ito, naitalaga ko ang halaga bilang 43586.

Code:

MyVal = 43586

Susunod sa kahon ng mensahe, ipinakita ko ang resulta ng variable, ngunit bago namin ipakita ang resulta ay ginamit namin ang "FORMAT"Na function upang mai-format ang halaga ng variable na"MyVal"At ang format na ibinigay ay"DD-MM-YYYY”.

Code:

Format ng MsgBox (MyVal, "DD-MM-YYY")

Ok, patakbuhin natin ang code at tingnan ang resulta sa kahon ng mensahe sa VBA.

Output:

Tulad ng nakikita mo sa itaas ang resulta ay ipinapakita bilang "01-05-2019”.

Ngayon ay dapat kang magtaka na nagbigay kami ng serial number ngunit ang resulta ay nagpapakita bilang ang petsa. Ito ay dahil ang petsa ng tindahan ng Excel bilang mga serial number, kaya ang halagang 43586 ay katumbas ng petsa na "01-05-2019" at kung taasan mo ang numero ng 1 ibig sabihin, 43587 ang petsa ay "02-05-2019".

Code:

 Sub Date_Format_Example3 () Madilim ang MyVal Bilang Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub 

Bagay na dapat alalahanin

  • Ang default na petsa ng iyong system ay ilalapat din sa iyong excel.
  • Maaaring magamit ang pag-aari ng Format na Numero upang baguhin ang format ng petsa sa VBA.
  • Gamit ang pagpapaandar na FORMAT, maaari nating baguhin ang format ng petsa.
  • Nag-iimbak ang Excel ng mga serial number at kung ilalapat mo ang format ng petsa ay ipapakita ito nang naaayon.