Tento krátky návod ukáže, ako previesť reťazec na dátum vo VBA.
Dátumy v programe Excel sa ukladajú ako čísla a potom sa formátujú tak, aby sa zobrazovali ako dátum. 1. deň vo svete Excelu bol 1. január 1900 (predvolené nastavenie systému Windows) alebo 1. január 1904 (predvolený režim Macintosh) - čo znamená, že 5. augusta 2022 je od 1. januára 1900 deň 44413. Konvertovanie reťazca na dátum v programe Excel „Najprv musíme previesť reťazec na číslo a potom previesť toto číslo na dátum.
Funkcia CDate
Na prevod reťazca na dátum môžeme použiť funkciu nazývanú CDate vo VBA.
1234567 | Sub ConvertDate ()Dim dte As SingleDim strD ako reťazecstrD = "05/10/2020"dte = CDate (strD)MsgBox dteKoniec pod |
Pretože sme deklarovali číselnú premennú (dte ako Single), msgbox vráti číslo, ktoré odkazuje na zadaný dátum.
Je dôležité, aby sme zadali rok pomocou všetkých 4 číslic roku (tj. 2022, a nie iba 20), inak by vrátené číslo nemuselo byť podľa očakávania. Excel neinterpretuje časť dátumu v roku - je ovládaná ovládacím panelom nášho počítača.
Ak však premenné deklarujeme ako premennú dátumu, okno so správou vráti číslo prevedené na dátum.
1234567 | Sub ConvertDate ()Dim dte As DateDim strD ako reťazecstrD = "05/10/2020"dte = CDate (strD)MsgBox dteKoniec pod |
Môžeme to urobiť o krok ďalej a formátovať dátum na typ formátu dátumu, ktorý by sme chceli vidieť.
1234567 | Sub ConvertDate ()Dim dte As StringDim strD ako reťazecstrD = "05/10/2020"dte = formát (CDate (strD), "dd mmmm rrrr")MsgBox dteKoniec pod |
V tomto prípade konvertujeme reťazec na dátum a potom znova na reťazec!
Ak by sme rok úplne vynechali, Excel predpokladá aktuálny rok.