VBA DateSerial -toiminto | Kuinka käyttää DateSerial-toimintoa? (Esimerkkejä)

Excel VBA DateSerial -toiminto

VBA: n DateSerial-funktio palauttaa päivämäärän käyttäjien toimittamista arvoista. Meidän on toimitettava mikä on vuosi, mikä on päivä ja mikä on kuukausi. Tulos perustuu järjestelmän päivämäärämuotoon.

Alla on DATESERIAL-funktion syntaksi .

# 1 - Vuosi: meidän on annettava kokonaisluku numeroksi mikä vuosi on? Annettaessa kokonaislukua meidän on pidettävä mielessä asiat.

  • Voimme toimittaa numeroita välillä 0 - 9999.
  • Yksi- ja kaksinumeroisia lukuja 0-99 käsitellään vuosina 1930-2029.
  • Negatiivinen kokonaisluku vähennetään vuodesta 2000. Esimerkiksi jos syötät -1, tulos on 1999 vuoden 2000 takia - 1 = 1999.

# 2 - Kuukausi: Meidän on annettava kokonaisluku numeroksi mikä on kuukausi? Tätä numeroa kirjoittaessamme meidän on pidettävä mielessä asiat.

  • Voimme toimittaa vain numeroita 1-12.
  • Jos annettu kokonaislukuarvo on 0, se edustaa edellisen vuoden kuukautta "joulukuu".
  • Jos annettu kokonaisluku on -1, se edustaa edellisen vuoden marraskuukautta. Näin negatiivisen arvon noustessa se edustaa edelleen taaksepäin olevaa vuotta.
  • Jos toimitettu numero on yli 12 eli jos numero on 13, se edustaa seuraavan vuoden tammikuun kuukautta, jos numero on 14, sitä kohdellaan seuraavan vuoden helmikuuna.

# 3 - Päivä: meidän on annettava kokonaisluku, mikä päivä on? Tätä numeroa kirjoittaessamme meidän on pidettävä mielessä asiat.

  • Voimme syöttää kokonaislukuja 1 - 31 kuluville kuukausipäiville.
  • Jos luku on 0, se edustaa edellisen kuukauden viimeistä päivää.
  • Jos luku on -1, se edustaa edellisen kuukauden toista viimeistä päivää.
  • Jos annat tämän kuukauden viimeisen päivän +1, se tarkoittaa seuraavan kuukauden ensimmäistä päivää. Esimerkiksi jos elokuun viimeinen päivä on 31 ja jos ilmoitat päivän arvoksi 31 + 1, se edustaa syyskuun ensimmäistä päivää.

Kuinka käyttää DATESERIAL-toimintoa VBA: ssa?

Voit ladata tämän VBA DateSerial Excel -mallin täältä - VBA DateSerial Excel -malli

Esimerkki 1

Voit käyttää DATESERIAL-toimintoa kirjoittamalla makrokoodin.

Vaihe 1: Aloita alimenettely

Luo ensin VBA-alimenetelmä alla olevan kuvan mukaisesti.

Vaihe 2: Ilmoita muuttuja

Ilmoita nyt muuttujaksi DATE.

Vaihe 3: Määritä DateSerial-toiminto tälle muuttujalle.

Nyt tämä muuttuja antaa DATESERIAL-toiminnon.

Vaihe 4: Syötä nyt vuoden, kuukauden ja päivän arvot DateSerial-toimintoon

YEAR-toimitukseen 2019, MONTH-toimitukseen 08 ja DAY-toimitukseen 05.

Vaihe 5: Näytä tulos viestiruudussa

Näytä nyt muuttujan "Oma päivämäärä" tulos viestiruudussa.

Koodi:

 Vaihtoehto Täsmällinen alipäiväSarja_esimerkki1 () Himmennä päivämäärän päivämäärän muokkaus = PäivämääräSarja (2019, 8, 5) MsgBox Mydaten loppuosa 

Vaihe 6: Suorita koodi

Suorita nyt tämä koodi nähdäksesi päivämäärän alla.

Tulos sanoo “5.8.2019”. Järjestelmässäni päivämäärämuoto on muodossa "KK-PP-VVVV", joten myös tulos on samassa muodossa.

Voimme myös muuttaa päivämäärän muotoa VBA: n FORMAT-toiminnolla. Käytä FORMAT-toimintoa kuten alla.

Koodi:

 Vaihtoehto Täsmällinen alipäiväSarja_esimerkki1 () Himmennä päivämäärän päivämäärän muokkaus = Päivämääräsarja (2019, 8, 5) MsgBox-muoto (Mydate, "PP-KK-VVVV") Loppuosa 

Tämä soveltuu muodossa "PP-KK-VVVV" ja tulos on seuraava.

Esimerkki 2

Voimme myös ilmoittaa muuttujat ja toimittaa arvot näille muuttujille. Katso esimerkki alla olevasta koodista.

Koodi:

 Sub DateSerial_Example2 () Dim Mydate as Date Dim MyYear as Integer Dim MyMonth as Integer Dim MyDay as Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox Format (Mydate, "DD-MM" ") Lopeta ali 

Sen sijaan, että toimittaisimme vuoden, kuukauden ja päivän suoraan DATESERIAL-funktiolle, olemme ilmoittaneet muuttujat ja antaneet niille arvot. Sitten myöhemmin olemme toimittaneet muuttujia DATESERIAL-funktiolle.

Näin voimme käyttää VBA-muuttujia arvojen tallentamiseen.

Esimerkki 3

Nyt kokeilemme vuotta. Annan vuoden arvoksi 1 ja näen tuloksen.

YEAR: n yksinumeroiset numerot edustavat vuotta 1930 - 2029. Joten 01 tarkoittaa vuotta 2001, 02 tarkoittaa vuotta 2002 ja niin edelleen.

Vaihdetaan nyt kuukauden numero 0: ksi ja näemme tulos.

Katsokaa koodia täällä, vuosi on 2019 ja kuukausi on 0. Mutta katsokaa tulos, jonka sanotaan olevan 05.12.2019, kun taas toimitettu vuosi on 2019, siinä lukee 2018 eli edellinen vuosi.

Tämä johtuu siitä, että koska olemme toimittaneet kuukauden 0 DATESERIAL-funktiona, kuluu kuukausi edellisen vuoden viimeiseen kuukauteen ja muutetaan vuosi vastaavasti.

Näin voit kokeilla eri numeroita nähdäksesi toiminnon vaikutuksen.

Muistettavaa

  • Sinun on tiedettävä, mikä luku edustaa mitä vuotta, kuukautta ja päivähoitoa. Lue syntaksin selitys huolellisesti ymmärtääksesi.
  • Tulos perustuu järjestelmän päivämäärämuotoon, jos haluat muokata tulosta, sinun on käytettävä FORMAT-toimintoa mainitsemaan päivämäärämuoto sinulle sopivaksi.

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