VBA Conversia șirului la data

Acest scurt tutorial va arăta cum să convertiți un șir la o dată în VBA.

Datele din Excel sunt stocate ca numere și apoi sunt formatate pentru a se afișa ca dată. Ziua 1 în lumea Excel a fost 1 ianuarie 1900 (implicit Windows) sau 1 ianuarie 1904 (implicit Macintosh) - ceea ce înseamnă că 5 august 2022 este ziua 44413 de la 1 ianuarie 1900. Pentru a converti un șir la o dată în Excel , trebuie mai întâi să convertim șirul într-un număr, apoi să convertim acel număr la dată.

Funcția CDate

Putem folosi o funcție numită CDate în VBA pentru a converti un șir la o dată.

1234567 Sub ConvertDate ()Dim dte As SingleDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteSfârșitul Sub

Deoarece am declarat o variabilă numerică (dte ca Single), msgbox va returna numărul care se referă la data introdusă.

Este important să introducem anul folosind toate cele 4 cifre ale anului (adică 2022 și nu doar 20), altfel numărul returnat ar putea să nu fie așa cum era de așteptat. Excel nu interpretează partea din an a datei - aceasta este controlată de panoul de control al computerului nostru.

Cu toate acestea, dacă declarăm variabilele ca variabilă de dată, caseta de mesaj va returna numărul convertit la o dată.

1234567 Sub ConvertDate ()Dim dte Ca DataDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteSfârșitul Sub

Putem face acest pas mai departe și formata data în funcție de tipul formatului de dată pe care am dori să îl vedem.

1234567 Sub ConvertDate ()Dim dte As StringDim strD As StringstrD = "05/10/2020"dte = Format (CDate (strD), "dd mmmm aaaa")MsgBox dteSfârșitul Sub

În acest exemplu, convertim șirul la o dată și apoi înapoi la un șir din nou!

Dacă ar fi să omitem anul în întregime, Excel își asumă anul curent.

wave wave wave wave wave