VBA DatePart -toiminto Kuinka palauttaa määritetyn osan päivämäärästä?

Excel VBA DatePart -toiminto

VBA: n DatePart-osaa käytetään identifioimaan argumenttina annetun päivämäärän osa annetulle päivämäärälle, päivämääräosa voi olla joko päiviä tai kuukausia tai vuotta tai jopa tunti minuutteja ja sekunteja, tämän funktion syntaksin selkeyttää itse paljon se on seuraava, Datepart (Interval, Date as Argument).

Syntaksi

DatePart-funktion syntakse on annettu alla:

  • Intervalli: Väliargumentissa välitettävät tiedot ovat merkkijonotyyppiä, mikä tarkoittaa, että tämä argumentti voi sisältää mitä tahansa kelvollisia arvoja siinä. Väli voi olla vuosi, kuukausi, neljännes, päivä, viikko, tunti, minuutti, sekunti.
  • Päivämäärä: Päivämääräarvo, joka on arvioitava.
  • firstdayofweek: Tämä on valinnainen parametri. Tämä kuvaa viikon ensimmäistä päivää, tämä voidaan jopa jättää huomiotta. Jos tätä parametria ei oteta huomioon, sunnuntai otetaan automaattisesti viikon ensimmäisenä päivänä. Tätä parametria voidaan käyttää, jos haluat muuttaa sitä. Tämä argumentti voi koostua vbUseSystem 0: sta.

Käytä NLS API -asetusta

vbSunday (oletus), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Samoin ylin parametri, tämä on myös valinnainen parametri. Tämä kuvaa vuoden ensimmäistä viikkoa. Tämä parametri voidaan myös ohittaa. Jos tätä parametria ei oteta huomioon, se olettaa, että 1. tammikuuta on vuoden ensimmäinen viikko. Tätä parametria voidaan käyttää, jos haluat muuttaa sitä.

    Tämä argumentti voi koostua seuraavista arvoista.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Annettuaan kaikki parametrit Datepart () palauttaa numeerisen arvon, kuten koko päivämäärä tai vuosi, kuukausi tai vuosineljännes jne. Tämän vuoksi tämän funktion palautustyyppi on numeerinen arvo.

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

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

Esimerkki 1

Ensimmäinen esimerkki on näyttää myös kyseisen kuukauden täydellinen päivämäärä ja vuosineljännes.

Tämän saavuttamiseksi meidän on kirjoitettava koodi Visual Basiciin, kyseiselle Goto Developer -välilehdelle ja napsauttamalla sitten Visual Basic, niin ikkuna avautuu.

Kirjoita kyseiseen ikkunaan koodi alla olevan kuvan mukaisesti.

Koodi:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'näyttää vuosineljänneksen lopun ali 

Tässä esimerkissä olemme käyttäneet Datepart-funktiota näyttämään päivämäärän ja jonkin osan päivämäärästä, joka on neljäsosa päivämäärästä. Tämä näyttää, mikä vuosineljännes on päivämäärä.

Jos korjaamme koodin virheen, päivämäärä näytetään täydellisenä päivämääränä ensimmäisen kerran, kun koodi suorittaa “Msgbox mydate”, koska satunnaispäivä on määritetty “mydate” -muuttujalle.

Seuraavaksi näytämme, minkä vuosineljänneksen kyseinen päivä tulee.

Kun suoritat koodin manuaalisesti tai pikanäppäimellä F5, päivämäärä näytetään kuvan osoittamalla tavalla napsauttamalla ok. Seuraavaksi näytetään neljännes päivämäärästä, joka näkyy alla olevassa kuvakaappauksessa.

Vastaavasti vain vuosineljännes, vain päivämäärä tai kuukausi tai vuosi voidaan näyttää.

Esimerkki 2

Tässä esimerkissä kirjoitan päivämäärän manuaalisesti ajon aikana.

Koodi:

Sub date1_datePart () Hämärtää TodayDate As Date 'Ilmoita muuttujat. Hämärä Msg TodayDate = InputBox ("Anna päivämäärä:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Tässä esimerkissä yritämme saada päivämäärän manuaalisesti ajon aikana. Koodi “TodayDate = InputBox (“ Anna päivämäärä: ”)” tämä rivi osoittaa, että päivämäärä voidaan syöttää manuaalisesti,

Syötettyään päivämäärän manuaalisesti, se näyttää päivämäärän neljänneksen viestiruudussa. Tämä voidaan näyttää alla olevassa kuvakaappauksessa.

Koska kesäkuukausi on toisella neljänneksellä, tämä näyttää toisen vuosineljänneksen, kuten yllä olevassa kuvakaappauksessa näkyy.

Esimerkki 3

Tässä esimerkissä kaikki arvot täytetään soluihin.

Koodi:

 Private Sub Workbook_Open () Dim DummyDate as Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Arvo = Päivä (DummyDate) ActiveSheet.Cells (3, 2) .Arvo = Hour (DummyDate) ActiveSheet .Cells (4, 2) .Arvo = minuutti (DummyDate) ActiveSheet.Cells (5, 2) .Arvo = Month (DummyDate) ActiveSheet.Cells (6, 2) .Arvo = Weekday (DummyDate) End Sub 

Päivämäärät täytetään Excel-taulukon soluissa, sillä koodi kirjoitetaan nimellä Active Sheet.cells. Tällä koodilla nykyinen päivämäärä voi olla vuosi kuukausi tai päivämäärä voidaan lisätä annettuihin soluihin.

Esimerkiksi yllä olevassa kuvakaappauksessa

Päivä on lisättävä Excel-arkin soluihin (2, 2). Siksi koodi kirjoitetaan nimellä "ActiveSheet.Cells (2, 2) .Arvo = päivä (DummyDate)".

Suorita koodi F5-näppäimellä tai manuaalisesti, ja tulos olisi seuraava.

Oletusarvo on tämän päivän päivämäärä ja se näkyy muodossa 30 solussa (2,6).

Samoin kaikkien muiden tietojen kohdalla se voidaan täyttää.

DatePart-toiminnon käyttö

  • DatePart-toimintoa voidaan käyttää näyttämään päivämäärän osa nimen osoittaman mukaan, eli jos vain päivä tai kuukausi tai vuosi päivämäärästä on näytettävä, tätä toimintoa voidaan käyttää.
  • Tämä toiminto erottaa myös päivämäärän, kuukauden ja vuoden tietystä päivämäärästä.
  • Käyttämällä tätä toimintoa päivämäärä ei ole vain erotettu, voimme myös saada vuosineljänneksen, päivän, tunnin, minuutin ja sekunnin.

Muistettavaa

  • Tätä toimintoa voidaan käyttää vain VBA-toimintona. Normaalissa Excelissä tätä ei voida käyttää.
  • Päivämäärät, jotka on annettu arvona tässä toiminnossa, voidaan antaa missä tahansa muodossa, kuten kk-pp-vvvv-muoto tai PP-KK-VVVV muodossa.
  • Tämä toiminto erottaa kaikki arvot erikseen, kuten päivämäärä, kuukausi, vuosi tai aika, myös tunti, minuutti, sekunnit.
  • Tämä on järjestetty Microsoft Excelin VBA: n Päivämäärä- ja aikatoiminnot -kohdassa.