Data formatului VBA - Cum se schimbă formatul de dată în codul VBA?

Excel Format VBA Data

Pentru a formata o dată în VBA , folosim funcția încorporată FORMAT în sine, ia intrarea ca format de dată și returnează formatul dorit necesar, argumentele necesare pentru această funcție sunt expresia în sine și tipul de format.

Formatarea datei și orei sunt lucruri sensibile în Excel și același lucru s-a aplicat și VBA. Data și ora implicite se bazează pe data sistemului la care lucrăm, care poate varia de la sistem la sistem. În acest articol, vă vom arăta diferite tehnici pentru formatarea datelor cu coduri VBA.

Pentru a schimba formatul de dată cu codificarea VBA, trebuie să fim conștienți de formatele de dată și de impactul acesteia asupra datei.

Tabelul de mai jos prezintă formatarea diferită a datei și codurile acestora.

Deci, dacă țineți cont de graficul de mai sus, formatarea datei prin codificarea VBA nu este deloc o sarcină dificilă.

Cum se schimbă formatul de dată în VBA?

Mai jos sunt exemple de format de dată excel VBA.

Exemplul nr. 1

De exemplu, avem aceeași dată în mai multe celule ale foii de lucru, așa cum se arată mai jos.

Acum vom aplica diferite formate de dată pentru aceeași dată pentru a vedea impactul la diferite coduri de format de dată.

Mai întâi, copiați aceleași date și în coloana următoare pentru a vedea impactul.

Pentru prima dată, adică celula A1, vom aplica formatul „ZZ-LL-AAAA” .

Mai întâi în cod, trebuie să selectăm celula folosind obiectul RANGE .

Cod:

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

Deoarece schimbăm formatul de dată al celulei, trebuie să accesăm proprietatea „ Format numeric ” a obiectului RANGE.

Cod:

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

După ce accesați „ Format numeric ”, trebuie să setăm formatul numeric punând semnul egal și să aplicăm codul formatului între ghilimele duble.

Cod:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-aaa" "Aceasta va schimba data până la" 23-10-2019 "End Sub

Când executăm acest cod, acesta va aplica formatul numeric la celula A1 ca „ ZZ-LL-AAA”.

Ieșire:

Exemplul nr. 2

În mod similar, am aplicat diferite coduri de formatare și pentru alte celule, iar mai jos este codul VBA pentru dvs.

Cod:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-aaa" 'Aceasta va schimba data la "23-10-2019" Range ("A2"). NumberFormat = "ddd-mm-aaa" 'Aceasta va schimba data în intervalul "Miercuri-10-2019" ("A3"). NumberFormat = "dddd-mm-aaa" "Aceasta va schimba data în Intervalul" Miercuri-10-2019 "(" A4 ") .NumberFormat = "dd-mmm-aaa" 'Aceasta va schimba data la intervalul "23-oct-2019" ("A5"). NumberFormat = "dd-mmmm-aaa"' Aceasta va schimba data la "23- Octombrie-2019 "Interval (" A6 "). NumberFormat =" dd-mm-yy "'Aceasta va schimba data la" 23-10-19 "Interval (" A7 "). NumberFormat =" ddd mmm aaaa "' Aceasta va schimba data la „Mierc Oct 2019”Gama ("A8"). NumberFormat = "dddd mmmm aaaa" 'Aceasta va schimba data la "Miercuri octombrie 2019" End Sub

Rezultatul acestui cod va fi după cum urmează.

Ieșire:

Schimbați formatul datei folosind funcția FORMAT

În VBA, avem o funcție numită FORMAT, care poate fi utilizată pentru a aplica formatul dorit celulei.

Trebuie doar să specificăm care este valoarea pentru „Expresie” și să aplicăm „Format” în consecință.

Uitați-vă la codul de mai jos pentru un exemplu.

Cod:

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

În codul de mai sus, am definit variabila ca variantă (care poate conține orice valoare).

Cod:

Dim MyVal ca variantă

În continuare pentru această variabilă, am atribuit valoarea ca 43586.

Cod:

MyVal = 43586

Apoi, în caseta de mesaje, am arătat rezultatul variabilei, dar înainte de a arăta rezultatul, am folosit funcția „ FORMAT ” pentru a formata valoarea variabilei „MyVal ” , iar formatul este dat. „ ZZ-LL-AAAA”.

Cod:

Format MsgBox (MyVal, "ZZ-LL-AAA")

Ok, să rulăm codul și să vedem rezultatul în caseta de mesaje din VBA.

Ieșire:

După cum puteți vedea mai sus, rezultatul se afișează ca „ 01-05-2019 ”.

Acum trebuie să vă întrebați că am furnizat numărul de serie, dar rezultatul apare ca dată. Acest lucru se datorează faptului că Excel stochează data ca numere de serie, deci valoarea 43586 este egală cu data „01-05-2019”, iar dacă creșteți numărul cu 1, adică 43587, data va fi „05-05-2019 ”.

Cod:

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

Lucruri de amintit

  • Data implicită a sistemului dvs. va fi aplicată și Excel-ului dvs.
  • Proprietatea Format număr poate fi utilizată pentru a schimba formatul datei în VBA.
  • Folosind funcția FORMAT, putem schimba formatul datei.
  • Excel stochează data sub formă de numere de serie și, dacă aplicați formatul datei, va apărea în consecință.

Articole interesante...