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.