Excel VBA DatePart

Oletetaan, että tiedoissamme on päivämääriä, emmekä tiedä, mikä viikko tai mikä kuukauden osa on. Tämän selvittämiseksi on monia tapoja. Excelissä on joitain monimutkaisia ​​kaavoja, jotka meidän on suoritettava löytääksemme se. Esimerkiksi, jos on päivämäärä, 2. helmikuuta-2019, laskelma tämän päivämäärän neljänneksen selvittämiseksi Excel-muodossa on monimutkaista. VBA tarjoaa meille kuitenkin erittäin kätevän toiminnon nimeltä DatePart, joka suorittaa tällaiset laskelmat meille.

Olen selittänyt edellä, miksi käytämme DatePart-toimintoa VBA: ssa. Tätä toimintoa käytetään päivämäärän osan selvittämiseen, on se sitten päivä, kuukausi viikko vuosineljännes tai jopa tunteja tai sekunteja. Tämä toiminto palauttaa kokonaisluvun tulosteena. Ymmärtääksesi lisätietoja tästä toiminnosta käydään ensin läpi tämän funktion syntaksi yksityiskohtaisesti.

DatePart-syntaksi Excel VBA: ssa

Katsokaamme alla olevaa DatePart-syntaksia Excel VBA: ssa.

Kuten voimme nähdä, tähän toimintoon tarjotaan yhteensä neljä argumenttia. Kaksi ensimmäistä argumenttia ovat pakollisia, kun taas kaksi muuta argumenttia ovat valinnaisia. Jos emme kuitenkaan tarjoa kahta viimeistä argumenttia, VBA: lla on sille omat oletusarvot.

  • Interval: Tämä argumentti toimitetaan merkkijonona tälle toiminnolle. Tämä argumentti voi olla kuukausi, viikko, vuosi, päivä tai jopa tunti tai minuutti tai sekunti. Esimerkiksi neljänneksen syntaksi on “q” tai vuoden syntaksi on “vvvv” ja niin edelleen.
  • Päivämäärä: Tämä on syöttöpäivä, jonka annamme tälle toiminnolle, jonka osan haluamme selvittää.
  • FirstDayofWeek: Tämä on valinnainen argumentti, jonka annamme tälle toiminnolle. Mutta jos emme tarjoa toiminnalle viikon ensimmäistä päivää, VBA pitää automaattista sunnuntaipäivää ensimmäisenä viikonpäivänä. Tämän argumentin tarjoamiseen on erilaisia ​​syntaksia, joka on seuraava:

vbUseSystem (Tämä syntaksi käyttää NLS API -ASETUKSIA), vbSunday (Tämä on oletusargumentti), vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday, vbSaturday (loput kaikki nämä argumentit ovat valinnaisia)

  • FirstWeekofYear: Tämä on myös valinnainen argumentti tälle toiminnolle. Mutta jälleen kerran, jos emme tarjoa tätä väitettä, VBA pitää automaattisesti ensimmäistä viikkoa sen mukaan, mikä viikko on ensimmäinen tammikuun 1. päivästä. Myös tälle argumentille on olemassa erilaisia ​​syntakseja, ne ovat seuraavat:

vbUseSystem, vbFirstJan1 (tämä on oletus), vbFirstFourDays (Tämä argumentti alkaa ensimmäisellä viikolla, jolla on vähintään uuden vuoden neljä ensimmäistä päivää), vbFirstFullWeek (Tämä argumentti alkaa vuoden ensimmäisellä täydellä viikolla).

Nyt olemme oppineet toiminnoista ja niiden perusteluista, testataan tämä toiminto esimerkeissä.

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

Alla on erilaisia ​​esimerkkejä DatePart-toiminnon käyttämisestä Excelissä VBA-koodilla.

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

Excel VBA DatePart - esimerkki # 1

Otetaanpa käyttäjän syötetty päivämäärä ja osa, jonka käyttäjä haluaa selvittää, käytämme sitten DatePart-toimintoa ja näytämme tulos.

Noudata alla olevia vaiheita käyttääksesi DatePart-toimintoa Excel VBA: ssa:

Vaihe 1: Napsauta koodisektion kehittäjä-välilehdessä Visual basic, joka vie meidät VB Editoriin.

Vaihe 2: Kun olet asettunut VB Editoriin, aseta uusi moduuli VBA-projektiin alla olevan kuvan mukaisesti.

Vaihe 3: Nyt kaksoisnapsauta moduulia ja aloita uuden osaprosessin julistaminen alla olevan kuvan mukaisesti.

Koodi:

 Alinäyte () Loppu alaosaan 

Vaihe 4: Määritä kolme muuttujaa, joista toinen on merkkijono ja päivämäärä, jotka pitävät syötteemme päivämääräosaa ja päivämäärää, ja toinen kokonaislukuna, joka tallentaa tulosteen.

Koodi:

 Alinäyte () Dim Dt päivämääränä, Prt merkkijonona, Res kokonaislukuna Loppu alaosa 

Vaihe 5: Pyydä päivämäärämuuttujasta käyttäjän syöttämä päivämäärä.

Koodi:

 Alinäyte () Dim Dt päivämääränä, Prt merkkijonona, Res kokonaislukuna Dt = InputBox ("Enter date") End Sub 

Vaihe 6: Ota osa Prt: tä, joka on osa, käyttäjän ilmoittamasta päivämääräosasta, jonka meidän on selvitettävä.

Koodi:

 Alinäyte () Dim Dt päivämääränä, Prt merkkijonona, Res kokonaislukuna Dt = InputBox ("Kirjoita päivämäärä") Prt = InputBox ("Enter Date Part") End Sub 

Vaihe 7: Nyt muuttuvassa res, joka on tulos, anna meidän selvittää tulos käyttämällä DatePart-toimintoa seuraavasti.

Koodi:

 Alinäyte () Dim Dt päivämääränä, Prt merkkijonona, Res kokonaislukuna Dt = InputBox ("Kirjoita päivämäärä") Prt = InputBox ("Enter date Part") Res = DatePart (Prt, Dt) End Sub 

Vaihe 8: Näytä Res-sovellukseen tallennettu arvo msgbox-toiminnolla.

Koodi:

 Alinäyte () Dim Dt päivämääränä, Prt merkkijonona, Res kokonaislukuna Dt = InputBox ("Syötä päivämäärä") Prt = InputBox ("Enter date Part") Res = DatePart (Prt, Dt) MsgBox Res End Sub 

Vaihe 9: Nyt suoritamme yllä oleva koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta ja antamalla päivämäärä seuraavasti.

Vaihe 10: Anna päivämääräosan arvo.

Vaihe 11: Paina OK nähdäksesi tulos alla olevan kuvan mukaisesti.

Saadaan tulos 1, koska syöttämämme päivämäärä laskee vuoden ensimmäisellä neljänneksellä.

Excel VBA DatePart - esimerkki 2

Anna tällä kertaa antaa päivämäärä suoraan koodin toiminnolle. Noudata alla olevia vaiheita käyttääksesi DatePart-toimintoa Excel VBA: ssa:

Vaihe 1: Määritä samassa moduulissa toinen aliohjelma alla esitetyllä tavalla.

Koodi:

 Alinäyte1 () Loppu alaosa 

Vaihe 2: Määritä yksi muuttuja kokonaislukuna ja yksi muuttuja päivämääränä, kuten alla on esitetty.

Koodi:

 Alinäyte1 () Dim Dt päivämääränä, Res kokonaislukuna Loppu alaosa 

Vaihe 3: Anna muuttujalle päivämäärä.

Koodi:

 Alinäyte1 () himmennetty Dt päivämääränä, uudelleen kokonaislukuna Dt = # 2/2/2019 # End Sub 

Vaihe 4: Lasketaan Res-muuttujan päivämääräviikko DatePart-toiminnolla.

Koodi:

 Alinäyte1 () himmennetty Dt päivämääränä, uudelleen kokonaislukuna Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Vaihe 5: Näytä muuttujaan tallennettu arvo msgbox-toiminnolla.

Koodi:

 Alinäyte1 () Himmennetty Dt päivämääränä, Res kokonaislukuna Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Vaihe 6: Suorita yllä oleva koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta saadaksesi seuraava tulos.

Päivämäärä, jonka toimitimme syötteeksi, putoaa vuoden viidennellä viikolla.

Excel VBA DatePart - esimerkki 3

Kokeillaan jotakin tosielämän esimerkkiä. Arkin 1 solussa A1 olen käyttänyt kaavaa = Nyt () saadakseni nykyisen päivämäärän ja ajan, ja selvitämme tämän solun päivämääräosan.

Noudata alla olevia vaiheita käyttääksesi DatePart-toimintoa Excel VBA: ssa:

Vaihe 1: Määritä toinen aliohjelma samassa moduulissa seuraavasti.

Koodi:

 Alinäyte2 () Loppu alaosaan 

Vaihe 2: Määritä kaksi muuttujaa päivämääräksi ja toinen kokonaislukuksi.

Koodi:

 Alinäyte2 () Dim Dt päivämääränä, Res kokonaislukuna Loppu alaosa 

Vaihe 3: Tallenna muuttujaan Dt solun A1 arvo seuraavasti.

Koodi:

 Alinäyte2 () Dim Dt päivämääränä, Res kokonaislukuna Dt = Alue ("A1") .arvo Loppu Sub 

Vaihe 4: Lasketaan nyt res-muuttujasta syötetyn viikon osa käyttämällä DatePart-toimintoa.

Koodi:

 Alinäyte2 () Dim Dt päivämääränä, Res kokonaislukuna Dt = Alue ("A1"). Arvo Res = DatePart ("ww", Dt) End Sub 

Vaihe 5: Näytä muuttujaan tallennettu arvo Msgbox-toiminnolla.

Koodi:

 Alinäyte2 () Dim Dt päivämääränä, Res kokonaislukuna Dt = Alue ("A1"). Arvo Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Vaihe 6: Suorita yllä oleva koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta saadaksesi seuraava tulos.

Nykyinen päivämäärä on 25. heinäkuuta, joka on vuoden 2019 30. viikko.

Muistettavat asiat

  • Se on päiväysfunktio, mutta palauttaa kokonaisluvun.
  • Kaksi ensimmäistä argumenttia ovat pakollisia, kun taas kaksi muuta argumenttia ovat valinnaisia.
  • VBA: lla on omat oletusargumenttinsa, jos emme tarjoa kahta viimeistä argumenttia DatePart-funktiolle.
  • Tämä toiminto on VBA-funktio, ei laskentataulukkotiedosto.

Suositellut artikkelit

Tämä on VBA DatePart -oppaan opas. Tässä keskustellaan siitä, kuinka DatePart-toimintoa käytetään Excelissä käyttämällä VBA-koodia, muutaman käytännön esimerkin ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA DateDadd
  2. TÄNÄÄN Formula Excelissä
  3. VBA Päiväystoiminto
  4. NYT Excel-toiminto
  5. Kuinka käyttää VBA-päivämäärämuotoa Excelissä?
  6. Missä kirjoittaa koodi VBA: han?

Luokka: