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 kokonaislukuja meidän on pidettävä mielessä alla olevat 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. Jos esimerkiksi syötät -1, tulos on 1999 vuoden 2000 takia - 1 = 1999.
# 2 - Kuukausi: Meidän on annettava kokonaisluku numeroksi mikä on kuukausi? Kun kirjoitamme tätä numeroa, 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. Tällä tavoin, kun negatiivinen arvo kasvaa, se edustaa edelleen taaksepäin olevaa vuotta.
- Jos toimitettu numero on yli 12 eli jos numero on 13, se edustaa seuraavan vuoden tammikuua. Jos luku on 14, sitä käsitellään seuraavan vuoden helmikuuna.
# 3 - Päivä: meidän on annettava kokonaisluku, mikä päivä on? Kun kirjoitamme tätä numeroa, 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?
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 muuttujalle DATE.

Vaihe 3: Määritä DateSerial-funktio tälle muuttujalle.
Määritä nyt tälle muuttujalle DATESERIAL-funktio.

Vaihe 4: Syötä nyt vuosi-, kuukausi- ja päivä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ä" 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 (Mydaatti, "PP-KK-VVVV") Loppuosa
Tätä käytetään muodossa "PP-KK-VVVV", ja tulos on seuraava.

Esimerkki 2
Voimme myös ilmoittaa muuttujat ja toimittaa arvot näille muuttujille. Katso esimerkiksi alla oleva koodi.
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
Instead of supplying year, month, and day directly to the DATESERIAL function, we have declared variables and assigned values to them. Then later, we have supplied variables to the DATESERIAL function.
This is how we can make use of variables in VBA to store values.
Example #3
Now we will experiment with the year. I will assign the year value as 1 and see the result.

Single & Double-digit numbers in YEAR represents a year from 1930 to 2029. So 01 means 2001, 02 means 2002, and so on.
Now let’s change the month number to 0 and see the result.

Look at the code here, Year is 2019, and the month is 0. But look at the result it says 05-Dec-2019, whereas a supplied year is 2019 it says 2018 i.e., the previous year.
Tämä johtuu siitä, että koska olemme toimittaneet kuukauden 0 DATESERIAL-funktiona, kuluu kuukausi edellisen vuoden viimeiseen kuukauteen ja muutetaan vuosi vastaavasti.
Kokeile tällöin eri numeroita nähdäksesi toiminnon vaikutus.
Muistettavaa
- Sinun on tiedettävä, mikä luku edustaa 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 muokatun tuloksen, sinun on käytettävä FORMAT-toimintoa mainitsemalla päivämäärämuoto oman mukavuutesi mukaisesti.