VBA karakterlánc a mai napig - Karakterláncok konvertálása dátumra az Excel VBA alkalmazásban

Excel VBA karakterlánc a dátumig

A Vba-ban van egy módszer, amellyel egy adott karakterláncot dátumra konvertálhatunk, és a módszer CDATE függvényként ismert az vba-ban, ez egy beépített függvény a VBA-ban, és ehhez a funkcióhoz szükséges részek a karakterlánc először konvertálása számot, majd a megadott számot dátumra konvertáljuk. Az eredmény formátuma csak a rendszer dátum formátumától függ.

Az egyik gyakori probléma, amellyel mindannyian szembesülünk az excellel, a „Dátum és idő”, amelyet gyakran szöveges értékként tárolnak, és kezdetben észrevétlen marad. De amikor ezt az időt ki kell használniuk, megtudjuk, hogy ezek az értékek szövegként vannak tárolva, és egyáltalán nem tudjuk, hogyan kell velük foglalkozni. A „Dátum és idő” két összetett dolog egy elemben, de miután ezeket az értékeket szöveges értékként tároltuk, fájdalom együtt dolgozni.

Hogyan lehet konvertálni a karakterláncot dátumra?

1. példa

Miután a VBA változót Stringként deklaráltuk és hozzárendeltük, a változóhoz hozzárendelteket csak stringként kezeljük. Nézze meg például az alábbi kódot.

Kód:

Sub String_To_Date () Dim k As karakterlánc k = "10-21" MsgBox k End Sub

A fenti kódban a „k” változót „String” adattípusként definiáljuk, és ehhez a változóhoz az értéket „10-21” -ként rendeltük.

Ok, futtassuk a kódot, és nézzük meg, mit kapunk a VBA üzenetmezőjében.

Az érték csak 10-21, de általában ezek az értékek dátum, nem karakterlánc értékek. Tehát annak ellenére, hogy a hozzárendelt adattípus „String”, a CDATE VBA adattípus-konverziós függvény segítségével mégis konvertálhatunk dátumra.

Kód:

Sub String_To_Date () Dim k As String k = "10-21" MsgBox CDate (k) End Sub

A fentiekben, mielőtt a „k” változó eredményét megjelenítenénk az üzenetmezőben, hozzárendeltük a CDATE függvényt. Egy kis kiigazítás történik, nézzük meg, mekkora hatást vált ki.

Most azt látnánk, hogy az eredmény a „Dátum” nem „String” érték.

2. példa

Most nézzen meg egy példát az alábbi kódra.

Kód:

Sub String_To_Date () Dim k As String k = 43599 MsgBox k End Sub

Ebben a pillanatban a fenti kód az eredményt „43599” -ként jelenítené meg, amint azt fentebb rendeltük.

De ha egyszer használjuk a CDATE függvényt, akkor dátum értékre vált.

Kód:

Sub String_To_Date () Dim k As String k = 43599 MsgBox CDate (k) End Sub

A CDATE függvény alkalmazása után az eredmény a következő.

Mivel az excel a dátumot sorozatszámként tárolta, a hozzárendelt 43599 sorozatszám megegyezik a dátumformátum alkalmazásakor 2019. 05. 14. dátummal.

A dátum formátumát „NN-HH-ÉÉÉÉ” néven is alkalmazhatjuk, hogy pontosan olvashassuk a dátumot.

Kód:

Sub String_To_Date1 () Dim k As String Dim DateValue As Date k = 43599 DateValue = CDate (k) MsgBox Format (DateValue, "DD-MMM-YYYY") End Sub

A fentiekben egy extra változót deklaráltam az eredmény tárolására. Ehhez a változóhoz alkalmaztam a CDATE konverziós függvényt.

Ezután a FORMAT függvényt alkalmaztam a „NN-HH-ÉÉÉÉ” formátum alkalmazásához, és az eredmény az alábbiakban látható lesz.

Ezzel világosan olvashatjuk a nap- és a havi részt. Ez a rendszer dátum formátumától is függ az excelben. Mivel a rendszer dátumformátumom „HH-NN-ÉÉÉÉ” volt, ez így látszott, de ez nem akadályozhatja a formázást.

3. példa

Most látni fogjuk, hogy a dátumokat hogyan formázzák szöveges értékekként a munkalap celláiban. Az alábbiakban a munkalapon szövegként tárolt dátumok képe látható.

Az A oszlopban A2-től A12-ig vannak dátumkereső értékek, de amikor megnézzük a formátum fület, akkor a „Text” formátumot mutatja. Most át kell alakítanunk ezeket az értékeket szövegből dátumra.

Az alábbiakban látható a kód, amelyet a szöveges formátumú dátumértékek tényleges dátumokká alakításához írtam.

Kód:

Sub String_To_Date2 () Dim k as long 'Az adatok több cellában vannak, ezért minden cellát át kell hurcolnunk' Open for Loop For k = 2-12 'Adatok a 2. sorból indulnak és a 12. sorban végződnek, tehát 2-12 Cellák (k, 2). Érték = CDate (cellák (k, 1). Érték) Következő k End Sub

Ha futtatja a kódot, akkor az alábbi eredményt kapja.

Dolgok, amikre emlékezni kell

  • A CDATE egy adattípus-átalakító függvény, de felhasználható a VBA karakterláncban tárolt dátum tényleges dátumértékekké konvertálására.
  • A CDATE függvény formátumának eredménye csak a rendszer dátum formátumától függ.
  • A dátumokat sorszámként tárolják az Excel programban, ezért formátumra van szükség, hogy dátumként jelenjenek meg.

érdekes cikkek...