Excel VBA DatePart

Oletame, et meie andmetes on kuupäevad ja me ei tea seda, mis nädal või milline kuu osa see on. Selle teadasaamiseks on mitu viisi. Excelis on mõned keerulised valemid, mida peame selle leidmiseks kasutama. Näiteks kui on kuupäev, 2. veebruar-2019, on selle kuupäeva kvartali väljaarvutamise excelis arvutamine keeruline. Kuid VBA pakub meile väga käepärast funktsiooni nimega DatePart, mis teeb selliseid arvutusi meie jaoks.

Olen eespool selgitanud, miks me VBA-s funktsiooni DatePart kasutame. Seda funktsiooni kasutatakse kuupäeva osa väljaselgitamiseks, olgu see päev, kuu, nädal, kvartal või isegi tunnid või sekundid. See funktsioon tagastab väljundina täisarvu. Selle funktsiooni kohta lisateabe saamiseks tutvume kõigepealt üksikasjalikult selle funktsiooni süntaksiga.

DateParti süntaks Excel VBA-s

Vaatleme allpool toodud kuupäeva Vartsi DateParti süntaksit.

Nagu näeme, on sellele funktsioonile esitatud kokku neli argumenti. Kaks esimest argumenti on kohustuslikud, ülejäänud kaks argumenti on valikulised. Kui me aga kahte viimast argumenti ei esita, on VBA-l selle jaoks oma vaikeväärtused.

  • Intervall: see argument esitatakse selle funktsiooni stringina. See argument võib olla kuu, nädal, aasta, päev või isegi tund või minut või sekund. Näiteks veerandi süntaks on “q” või aasta jaoks on süntaks “aa” ja nii edasi.
  • Kuupäev: see on sisestuskuupäev, mille pakume sellele funktsioonile, kelle osa me soovime teada saada.
  • FirstDayofWeek: see on valikuline argument, mille sellele funktsioonile anname. Kuid kui me ei anna funktsioonile nädala esimesel nädalal, käsitab VBA automaatselt pühapäeva PÄEVA kui nädala esimest päeva. Selle argumendi esitamiseks on erinevad süntaksid:

vbUseSystem (see süntaks kasutab NLS API SEADISTUST), vbSunday (see on vaikimisi argument), vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday, vbSaturday (ülejäänud kõik need argumendid on valikulised anda)

  • FirstWeekofYear: See on ka selle funktsiooni valikuline argument. Kuid jällegi, kui me ei esita seda argumenti, arvestab VBA automaatselt esimest nädalat, olenevalt sellest, milline nädal on esimene alates 1. jaanuarist. Selle argumendi jaoks on ka erinevad süntaksid:

vbUseSystem, vbFirstJan1 (see on vaikimisi), vbFirstFourDays (See argument algab esimese nädalaga, millel on uuel aastal vähemalt neli esimest päeva), vbFirstFullWeek (see argument algab aasta esimese täisnädalaga).

Nüüd oleme funktsioonide kohta teada saanud ja selle argumendid lubage meil seda funktsiooni näidetes testida.

Kuidas kasutada funktsiooni DatePart rakenduses Excel VBA?

Allpool on toodud erinevad näited funktsiooni DatePart kasutamise kohta Excelis, kasutades VBA-koodi.

Selle VBA DatePart Exceli malli saate alla laadida siit - VBA DatePart Exceli mall

Excel VBA DatePart - näide # 1

Võtame kasutajalt sisendi kuupäeva ja osana, mida kasutaja soovib teada saada, siis kasutame funktsiooni DatePart ja kuvame tulemuse.

Funktsiooni DatePart funktsiooni kasutamiseks Excel VBA-s toimige järgmiselt.

1. samm: klõpsake koodisektsiooni arendaja vahekaardil nuppu Visual basic, mis viib meid VB redigeerija juurde.

2. samm: sisestage VBA redigeerijas VBA projekti uus moodul, nagu allpool näidatud.

3. samm: tehke nüüd topeltklõps moodulil ja hakake kuulutama uut alamprotsessi, nagu allpool näidatud.

Kood:

 Alamproov () Lõpp Alam 

4. samm: määratlege kolm muutujat kui string ja kuupäev, mis hoiab sisestatud kuupäeva osa ja kuupäeva ning teine ​​täisarv, mis salvestab meie väljundi.

Kood:

 Alamproov () Dim Dt kui kuupäev, Prt kui string, Res täisarvuna Lõpp Sub 

5. samm: küsige kuupäeva muutuja puhul sisendit kasutajalt.

Kood:

 Alamproov () Dim Dt kui kuupäev, Prt kui string, Res täisarvuna Dt = InputBox ("Sisestage kuupäev") End Sub 

6. samm: osades Prt, mis on osa, sisestage kasutajalt kuupäev, mille peame välja selgitama.

Kood:

 Alamproov () Dim Dt kui kuupäev, Prt kui string, Res täisarvuna Dt = InputBox ("Sisestage kuupäev") Prt = InputBox ("Sisestage kuupäeva osa") End Sub 

7. samm: nüüd muutuvas res, mis on tulemus, andke meile tulemuse teada saada, kasutades funktsiooni DatePart järgmiselt.

Kood:

 Alamproov () Dim Dt kui kuupäev, Prt kui string, Res täisarvuna Dt = InputBox ("Sisestage kuupäev") Prt = InputBox ("Sisestage kuupäeva osa") Res = DatePart (Prt, Dt) End Sub 

8. samm. Kuvage Res-is salvestatud väärtus, kasutades funktsiooni mbox.

Kood:

 Alamproov () Dim Dt kui kuupäev, Prt kui string, Res täisarvuna Dt = InputBox ("Sisestage kuupäev") Prt = InputBox ("Sisestage kuupäeva osa") Res = DatePart (Prt, Dt) MsgBox Res End Sub 

9. samm. Nüüd käivitame ülaltoodud koodi, vajutades klahvi F5 või klõpsates nuppu Esita ja sisestades kuupäeva järgmiselt.

10. samm: sisestage kuupäeva osa väärtus.

11. samm: tulemuse nägemiseks allpool näidatud viisil vajutage nuppu OK.

Saame tulemuseks 1, kuna sisestatud kuupäev langeb aasta esimesse kvartalisse.

Excel VBA DatePart - näide nr 2

Sel korral anname kuupäeva otse koodis olevale funktsioonile. Funktsiooni DatePart funktsiooni kasutamiseks Excel VBA-s toimige järgmiselt.

1. samm: määratlege samas moodulis teine ​​alamprotsess, nagu allpool näidatud.

Kood:

 Alamproov1 () Lõpeta alamvalim 

2. samm: määratlege üks muutuja täisarvuna ja üks muutujana kuupäev, nagu allpool näidatud.

Kood:

 Alamproov1 () Dim Dt kui kuupäev, Res täisarvuna Lõpp Sub 

3. samm: sisestage muutujale kuupäev.

Kood:

 Alamproov1 () Dim Dt kui kuupäev, Res täisarvuna Dt = # 2/2/2019 # End Sub 

4. samm: muutuja Res all arvutage kuupäeva nädal funktsiooni DatePart abil.

Kood:

 Alamnäide1 () Dim Dt kui kuupäev, Res täisarvuna Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

5. samm . Funktsiooni msgbox abil kuvage muutujasse salvestatud väärtus.

Kood:

 Alamnäide1 () Dim Dt kui kuupäev, Res täisarvuna Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

6. samm: käivitage ülaltoodud kood, vajutades klahvi F5 või klõpsates nuppu Esita, et saada järgmine tulemus.

Kuupäev, mille sisendina esitasime, langeb aasta viiendasse nädalasse.

Excel VBA DatePart - näide nr 3

Proovime mõnda reaalse elu näidet. Lehe 1 lahtris A1 olen praeguse kuupäeva ja kellaaja saamiseks kasutanud valemit = Now () ja selle lahtri kuupäevaosa saame teada.

Funktsiooni DatePart funktsiooni kasutamiseks Excel VBA-s toimige järgmiselt.

1. samm: määratlege samas moodulis teine ​​alamprotsess järgmiselt.

Kood:

 Alamproov2 () Lõpeta alamvalim 

2. samm: määratlege kaks muutujat kuupäeva ja teise täisarvuna.

Kood:

 Alamproov2 () Dim Dt kui kuupäev, Res täisarvuna Lõpp Sub 

3. samm: muutuvas Dt salvestage lahtri A1 väärtus järgmiselt.

Kood:

 Alamvalim2 () Dim Dt kui kuupäev, Res täisarvuna Dt = vahemik ("A1"). Väärtus End Sub 

4. samm. Nüüd arvutame res muutujaga sisendi nädalaosa funktsiooni DatePart abil.

Kood:

 Alamvalim2 () Dim Dt kui kuupäev, Res täisarvuna Dt = vahemik ("A1"). Väärtus Res = DatePart ("ww", Dt) End Sub 

5. samm . Funktsiooni Msgbox abil kuvage muutujasse salvestatud väärtus.

Kood:

 Alamvalim2 () Dim Dt kui kuupäev, Res täisarvuna Dt = vahemik ("A1"). Väärtus Res = DatePart ("ww", Dt) MsgBox Res End Sub 

6. samm: käivitage ülaltoodud kood, vajutades klahvi F5 või klõpsates nuppu Esita, et saada järgmine tulemus.

Praegune kuupäev on 25. juuli, mis on 2019. aasta 30. nädal.

Asjad, mida meeles pidada

  • See on kuupäeva funktsioon, kuid tagastab täisarvu.
  • Kaks esimest argumenti on kohustuslikud, ülejäänud kaks argumenti on valikulised.
  • VBA-l on oma vaikeargumendid, kui me ei paku funktsiooni DatePart kahte viimast argumenti.
  • See funktsioon on VBA funktsioon, mitte töölehe funktsioon.

Soovitatavad artiklid

See on VBA DateParti juhend. Siin arutatakse, kuidas kasutada funktsiooni DatePart Excelis, kasutades VBA-koodi koos mõne praktilise näite ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA kuupäeva lisamine
  2. TÄNA vormel Excelis
  3. VBA kuupäeva funktsioon
  4. KOHE Exceli funktsioon
  5. Kuidas kasutada VBA kuupäevavormingut Excelis?
  6. Kust kirjutada koodi VBA-s?

Kategooria: