VBA-kieli tähän mennessä | Muunna merkkijonojen arvot päivämääriksi Excel VBA: ssa

Excel VBA -merkkijono tasalla

Vba: ssa on menetelmä, jonka avulla voimme muuntaa annetun merkkijonon päivämääräksi, ja menetelmä tunnetaan vBA: ssa CDATE-funktiona, tämä on sisäänrakennettu funktio VBA: ssa ja tämän toiminnon edellyttämät osat on ensin muunnettava merkkijono numero ja muunnamme sitten annetun numeron päivämääräksi. Tulosmuoto riippuu vain järjestelmän päivämäärämuodosta.

Yksi yleisimmistä ongelmista, joita me kaikki kohtaamme excelin kanssa, on "Päivämäärä ja aika", ja ne tallennetaan usein tekstiarvoina, ja ne jäävät huomaamatta aluksi. Mutta kun heidän on käytettävä sitä aikaa, opimme, että nämä arvot tallennetaan tekstinä eivätkä tiedä, miten niitä käsitellä ollenkaan. "Päivämäärä ja aika" ovat kaksi yhdistettyä asiaa yhdessä elementissä, mutta kun nämä arvot on tallennettu tekstiarvoiksi, on vaikea työskennellä.

Kuinka muuntaa merkkijonoarvot päivämääräksi?

Voit ladata tämän VBA-merkkijonon päivämäärä-Excel-mallin täältä - VBA-merkkijono päivämäärään-Excel-malli

Esimerkki 1

Kun VBA-muuttuja on ilmoitettu ja määritetty merkkijonoksi, kaikkea muuttujalle osoitettua käsitellään vain merkkijonona. Katso esimerkki alla olevasta koodista.

Koodi:

 Alimerkkijono_To_Päivämäärä () Himmennä merkkijonona k = "10-21" MsgBox k Loppu Sub 

Yllä olevassa koodimuuttujassa "k" määritellään "String" -tietotyyppi ja tälle muuttujalle olemme määrittäneet arvon "10-21".

Ok, ajetaan koodi ja katsotaan mitä saamme VBA: n viestiruudusta.

Saimme arvon vain 10-21, mutta yleensä nämä arvot ovat päivämäärä, ei merkkijonoja. Joten vaikka määritetty tietotyyppi on "merkkijono", voimme silti muuntaa päivämääräksi käyttämällä tietotyypin muunnosfunktiota CDATE VBA.

Koodi:

 Alimerkkijono_To_Pvm () Himmennä merkkijono k = "10-21" MsgBox CDate (k) Lopeta ali 

Ennen kuin näytämme muuttujan "k" tuloksen viestiruudussa, olemme määrittäneet CDATE-toiminnon. Pieni säätö tehdään, katsotaanpa, kuinka suuren vaikutuksen se tekee.

Nyt tulosta ei pidetä päivämääränä enää merkkijonona.

Esimerkki 2

Katso nyt esimerkki alla olevasta koodista.

Koodi:

 Alimerkkijono_To_Pvm () Himmennä merkkijono k = 43599 MsgBox k Lopeta alim 

Tässä vaiheessa yllä oleva koodi näyttäisi tuloksen arvona "43599", kuten edellä osoitimme.

Mutta kun käytämme CDATE-toimintoa, se muuntuu päivämääräarvoksi.

Koodi:

 Alimerkkijono_To_Pvm () Hämärä k merkkijonona k = 43599 MsgBox CDate (k) Loppu Sub 

Tulos CDATE-toiminnon soveltamisen jälkeen on seuraava.

Koska excel tallensi päivämäärän sarjanumeroina, meille annettu sarjanumero 43599 on sama kuin päiväys 05/14/2019, kun päivämäärämuotoa käytetään.

Voimme myös käyttää muotoa päivämäärään muodossa "PP-KK-VVVV" lukeaksesi päivämäärän tarkasti.

Koodi:

 Alimerkkijono_To_Pvm1 () Himmennä merkkijono Dim Päivämääräarvo Päivämäärä k = 43599 Päivämääräarvo = CDate (k) MsgBox-muoto (Päivämääräarvo, "PP-KK-VVVV") Loppu 

Edellä on ilmoitettu yksi ylimääräinen muuttuja tuloksen tallentamiseksi. Tälle muuttujalle olen soveltanut CDATE-muunnostoimintoa.

Seuraavaksi olen käyttänyt FORMAT-funktiota soveltamaan "PP-KK-VVVV" -muodon muotoa, ja tulos on seuraava.

Tämän avulla voimme selvästi lukea päivä- ja kuukausiosan. Se riippuu myös järjestelmän päivämäärämuodosta Excelissä, koska järjestelmän päivämäärämuodoni oli “KK-PP-VVVV”, se näytti tuollaiselta, mutta sen ei pitäisi olla esto muotoilulle.

Esimerkki 3

Näemme nyt, kuinka päivämäärät muotoillaan tekstiarvoina laskentataulukon soluissa. Alla on kuva taulukkoon tekstinä tallennetuista päivämääristä.

Sarakkeessa A välillä A2 - A12 meillä on päivämäärän näköisiä arvoja, mutta kun tarkastelemme muotoilu-välilehteä, se näyttää "Teksti" -muodon. Nyt meidän on muunnettava nämä arvot tekstistä päivämäärään.

Alla on koodi, jonka olen kirjoittanut muuntamaan tekstimuotoiset päivämääräarvot todellisiksi päivämääriksi.

Koodi:

 Alimerkkijono_To_Pvm2 () Himmennä k niin kauan 'Data on useammassa kuin yhdessä solussa, joten sinun on silmukoitava jokaisen solun läpi' Avoin silmukka k = 2 - 12 'Data alkaa 2. riviltä ja päättyy 12. rivillä, joten 2-12 Solut (k, 2). Arvo = CDate (solut (k, 1). Arvo) Seuraava k End Sub 

Jos suoritat koodin, se antaa meille alla olevan tuloksen.

Muistettavaa

  • CDATE on tietotyypin muunnosfunktio, mutta sitä voidaan käyttää muuntaa VBA-merkkijonolle tallennettu päivämäärä todellisiksi päivämääräarvoiksi.
  • CDATE-toimintomuodon tulos riippuu vain järjestelmän päivämäärämuodosta.
  • Päivämäärät tallennetaan sarjanumeroina Exceliin, joten niiden näyttäminen päivämäärinä edellyttää muotoilua.

$config[zx-auto] not found$config[zx-overlay] not found