A VBA karakterláncot dátummá konvertál

Tartalomjegyzék

Ez a rövid bemutató bemutatja, hogyan lehet egy karakterláncot dátummá konvertálni a VBA -ban.

Az Excel dátumait számként tárolja, majd dátumként megjeleníti őket. Az Excel világának első napja 1900. január 1. (Windows alapértelmezett) vagy 1904. január 1. (Macintosh alapértelmezett) volt - ami azt jelenti, hogy 2022. augusztus 5 -e az 1900. január 1 -je óta eltelt 44413. Nap. , először át kell alakítanunk a karakterláncot számmá, majd ezt a számot dátummá.

CDate funkció

A VBA CDate nevű függvényével karakterláncot dátummá alakíthatunk.

1234567 Sub ConvertDate ()Dim dte as SingleDim strD karakterlánckéntstrD = "2020.05.10."dte = CDate (strD)MsgBox dteEnd Sub

Mivel számszerű változót (dte mint Single) deklaráltunk, az msgbox visszaadja azt a számot, amely a megadott dátumra vonatkozik.

Fontos, hogy az évet az év mind a négy számjeggyel (azaz 2022 és ne csak 20) ​​használjuk, különben előfordulhat, hogy a visszaadott szám nem a várt. Az Excel nem értelmezi a dátum év részét - ezt a számítógépünk Vezérlőpultja vezérli.

Ha azonban a változókat dátumváltozóként deklaráljuk, az üzenetdoboz visszaadja a dátumra konvertált számot.

1234567 Sub ConvertDate ()Dim dte as DateDim strD karakterlánckéntstrD = "2020.05.10."dte = CDate (strD)MsgBox dteEnd Sub

Egy lépéssel tovább léphetünk, és formázhatjuk a dátumot a kívánt dátumformátum típusához.

1234567 Sub ConvertDate ()Dim dte karakterlánckéntDim strD karakterlánckéntstrD = "2020.05.10."dte = Formátum (CD -dátum (strD), "dd mmmm yyyy")MsgBox dteEnd Sub

Ebben a példában a karakterláncot dátummá alakítjuk, majd ismét vissza karakterlánccá!

Ha teljesen kihagynánk az évet, az Excel az aktuális évet feltételezi.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave