VBA-datumfunksje (12 gebrûk fan makro's mei foarbylden)

  • Diel Dit
Hugh West

Ynhâldsopjefte

Yn Microsoft Visual Basic-applikaasje binne datumfunksjes of hokker datumrelatearre konsepten essensjeel om ferskate operaasjes yn jo dataset út te fieren. Jo kinne josels yn ferskate situaasjes fine wêr't jo dizze funksjes moatte brûke. Yn dizze tutorial sille jo leare oer de Datumfunksje fan VBA mei passende foarbylden en juste yllustraasjes. Wy sille jo ek meardere datumfunksjes leverje dy't jo kinne ymplementearje yn jo wurkblêd.

Download Practice Workbook

Gebrûk fan VBA Date.xlsm

Ynlieding ta VBA-datumfunksje

Excel kategorisearret datums yn 'e funksje Datum/Tiid . It is in ynboude funksje. Wy kinne it brûke yn VBA-makro's om alle datum-relatearre operaasjes út te fieren.

Foardat jo begjinne mei de Datumfunksje, moatte jo witte oer de Datumfariabelen yn VBA .

⏺ Syntaksis

Datum()

⏺ Arguminten Taljochtingen

Der binne gjin arguminten .

⏺ Jout de aktuele datum werom.

⏺ Beskikber yn

Excel foar Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 foar Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

⏺ Foarbyld

Sa't jo witte, binne d'r gjin arguminten, jo kinne it allinich ynfiere lykas de folgjende:

7757

As wy wurkje mei de datumfunksje, jouwe wy gjin heakjes yn 'e VBA-koades lykas dit foarbyld.

Utfier :

9. VBA WeekdayName Funksje

Jout in tekenrige werom mei de beheinde dei fan 'e wike.

Syntaksis :

WeekdayName(wikedei, ôfkoarte, earstedei fan 'e wike)

Argument:

wikedei: Ferplicht fjild. De numerike identifikaasje foar de dei fan 'e wike. De numerike wearde fan elke dei hinget ôf fan 'e ynstelling fan 'e earste dei fan 'e wike.

ôfkoarte: Dit is opsjoneel. Booleaanske wearde dy't oanjout as de namme fan 'e wikedei ynkoarte wurde moat. As oerslein is, is de standert False, wat oanjout dat de wikedei namme net ôfkoarte of ynkoarte is.

firstdayofweek: Opsjoneel fjild. Numerike wearde dy't de earste dei fan 'e wike oanjout. It kin ferskate wearden hawwe.

It firstdayofweek argumint kin de folgjende wearden hawwe:

vbSunday – brûkt snein as de foarste dei fan 'e wike.

vbMonday - wurket moandei as earste dei fan 'e wike.

vbTuesday - wurket tiisdei as earste dei frijde wike.

vbWoensdei - wurket woansdei as earste dei fan 'e wike.

vbThursday - wurket tongersdei as de eardere dei fan 'e wike. .

vbFriday - wurket freed as de earste dei fan 'e wike.

vbSaturday - wurket sneon as de earste dei fan 'e wike.

vbUseSystemDayOfTheWeek - brûkt de earste dei fan 'e wike dy't definiearre is troch de ynstelling fan jo apparaat.

Koadefragment:

9802

Utfier:

Sa't jo sjen kinne, litte de boppesteande VBA-koades de namme fan 'e wike sjen.

Related Content: How om VBA WeekdayName-funksje yn Excel te brûken (2 foarbylden)

10. Jierfunksje yn VBA-datum

It jout in fariant (ynteger) werom mei in echt getal dat it jier útdrukt.

Syntaksis :

Jier(datum)

Argumint:

It fereaske datumargumint is elke fariant, numerike ekspresje, tekenrige ekspresje of elke kombinaasje. It stiet foar in datum. As de datum Null befettet, sil it ek Null weromjaan.

Code Snippet:

1968

Utfier:

Hjir kinne jo it jier fan 'e opjûne datum sjen nei it ymplementearjen fan' e VBA-koade.

Lês Mear: Hoe kinne jo de VBA-ferfangingsfunksje brûke yn Excel ( 11 Applikaasjes)

11. FormatDateTime Function

Dizze funksje jout in útdrukking opmakke as in datum of tiid.

Syntaksis :

FormatDateTime(Datum, [ NamedFormat])

Argumint:

Datum: Required field. Datum-ekspresje dy't opmakke wurde moat.

NamedFormat: Dit is opsjoneel. It is in numerike wearde dy't it datum/tiidformaat werjaan. As it weilitten is, brûkte it de vbGeneralDate .

It NamedFormat kin de folgjende wearden hawwe:

vbGeneralDate (0): Lit in datum en/of tiid sjen. As der in datum diel is, druk it dan út as in koarte datum. As d'r in tiiddiel is, werjaan it as in lange tiid. Beide dielen wurde útstald as oanwêzich.

vbLongDate(1): Oanbylde in datum troch gebrûk te meitsjen fan de lange datumkonfiguraasje selektearre yn de regionale ynstellings fan jo kompjûter.

vbShortDate (2): In datum werjaan troch it koarte datumformaat te betsjinjen dat is spesifisearre yn de regionale ynstellings fan jo kompjûter.

vbLongTime(3): In tiid sjen litte troch it tiidformaat te brûken dat is spesifisearre yn de regionale ynstellings fan jo kompjûter.

vbShortTime(4): In tiid werjaan mei it 24-oere formaat (uu:mm).

Koadefragment:

1264

Utfier:

Jo sille de folgjende dialoochfinsters sjen nei it útfieren fan de koade:

Hjir kinne jo alle tiid- en datumformaten yn VBA sjen.

Lês Mear: Hoe kinne jo VBA TimeValue-funksje brûke (6 relevante foarbylden)

12. VBA CDate-funksje

De funksje konvertearret in jildige datum- en tiidekspresje nei in typyske datum.

Syntaksis :

CDdate(datum)

Argumint:

It fereaske datumargumint is elke fariant, numerike ekspresje, tekenrige ekspresje of elke kombinaasje. It stiet foar in datum. As de datum Null befettet, sil it ek Null weromjaan.

Code Snippet:

6866

Utfier:

Sa't jo sjen kinne, joech ús VBA-koade krekt in typysk datumformaat fan Excel werom.

Related Content: Hoe kinne jo VBA DIR-funksje brûke yn Excel (7 Foarbylden)

Foarbylden fan VBA-datum

Yn 'e folgjende seksjes sille wy jo trije praktyske en gaadlike foarbylden fan datum leverje mei VBA. Dizze foarbylden sille datum-relatearre problemen en harren oplossings befetsje. Wy riede oan dat jo al dizze foarbylden lêze en oefenje om jo VBA-kennis te ferbetterjen. Litte wy derop yngean.

1. Berekkenje efterstallige dagen mei Datum yn VBA

De betsjutting fan efterstallich bart let, of foarby de deadline. Te let, benammen, foarby in deadline of te let om oan in eask te foldwaan.

Stel dat jo in opdracht yntsjinje moatte dy't snein moatte. Mar it is tiisdei, en jo hawwe it net yntsjinne. Jo kinne it twa efterstallige dagen neame.

Sjoch ris nei de folgjende dataset:

Hjir hawwe wy in dataset fan guon studinten en harren yntsjinjen fan opdrachten datum. Jo kinne de lêste datum fan yntsjinjen sjen. Us doel is om de efterstallige datum te finen op basis fan de yntsjinningsdatum. No, om dit te berikken, folgje dizze stappen:

📌 Stappen

  • Druk earst op Alt+F11 op jo toetseboerd om de VBA-bewurker te iepenjen.
  • Selektearje dan Ynfoegje > Module .

  • Fier dêrnei de folgjende koade yn:
1482

Wy brûkten de ABS-funksje om it minteken te ferwiderjen.

  • Bewarje dan it bestân.
  • Druk dêrnei op Alt+F8 op jo toetseboerd om te iepenjen it dialoochfinster Macro.
  • Folgjende, selektearje
  • Dan, klikje op Utfiere .

Sa't jo sjen kinne, hawwe wy de datum mei súkses brûkt yn VBA en fûn de efterstallige dagen.

Silkene lêzingen

  • Hoe kinne jo VBA Space brûke Funksje yn Excel (3 foarbylden)
  • Gebrûk fan VBA ChDir-funksje yn Excel (4 geskikte foarbylden)
  • Hoe kin ik de IsNull-funksje brûke yn Excel VBA (5 foarbylden)
  • Gebrûk VBA Wylst Wend-ferklearring yn Excel (4 foarbylden)
  • Hoe kinne jo in sub oproppe yn VBA yn Excel (4) Foarbylden)

2. Fyn bertejier fan datum mei VBA

No kinne jo it jier fine fan in bepaalde datum. Dit is frij simpel te finen.

Besjoch de folgjende dataset:

Hjir kinne jo de bertedatum fan guon persoanen sjen. Us doel is om it bertejier út de datum en ek it bertejier fan 'e lêste yngong Elizabeth te heljen.

📌 Stappen

  • Druk earst op Alt+F11 op jo toetseboerd om de VBA-bewurker te iepenjen.
  • Selektearje dan Insert>Module .

  • Typ dande folgjende koade:
1719
  • Dan, bewarje it bestân.
  • Druk dêrnei op Alt+F8 op jo toetseboerd om it Macro-dialoochfinster te iepenjen box.
  • Selektearje dêrnei find_year .
  • Dan klikke op Utfiere .

Uteinlik kinne jo sjen dat wy suksesfol binne yn it ekstrahearje fan it bertejier fan elke datum. Ek fûnen wy it bertejier fan 'e lêste yngong mei de datum fan VBA yn Excel.

3. Foegje dagen yn datum ta mei VBA

No kinne jo de datumfariabele definiearje en brûke om de datum ta te foegjen. Om dit út te fieren, brûke wy de DateAdd metoade fan VBA. Jo kinne dizze funksje brûke om dagen, moannen en jierren ta te foegjen oan in bepaalde datum.

Besjoch de folgjende dataset:

Hjir, jo kin sjen wat nammen en guon datums oan harren. No is ús doel om noch fiif dagen oan dizze opjûne datums ta te foegjen en in nije datum te generearjen.

📌 Stappen

  • Druk earst op Alt +F11 op jo toetseboerd om de VBA-bewurker te iepenjen.
  • Selektearje dan Insert>Module .

  • Typ dêrnei de folgjende koade:
4876

Hjir hawwe wy "d" brûkt as argumint yn 'e DateAdd-funksje. Jo kinne it feroarje yn "y" of "m" om respektivelik jierren of moannen ta te foegjen,

  • Bewarje dan it bestân.
  • Druk dan op Alt+F8 op jo toetseboerd om it Macro-dialoochfinster te iepenjen.
  • Selektearje dêrnei.
  • Dan dan op Utfiere .

As jo ​​kinnesjoch, wy hawwe mei súkses tafoege dagen yn in datum mei help fan de datum yn VBA. No kinne jo de koade oanpasse neffens jo kar.

💬 Dingen om te ûnthâlden

VBA Date-funksje wurket eins lykas de TODAY-funksje yn Excel.

VBA DATE is in net-flechtige funksje yn excel. Dat betsjut dat it de gegevens behâlde sil, sels as der in brek is yn 'e stroomfoarsjenning.

Yn prinsipe bewarret VBA Datumwearden as DATE op it momint fan ymplemintaasje.

Dus, as jo besykje in datumfariabele as tekenrige/tekst ta te jaan, sil dat in flater feroarsaakje.

De standertwearde fan Datum is 0: 00:00 (middernacht) op 1 jannewaris 0001.

Konklúzje

Ta beslút, ik hoopje dat dizze tutorial jo in stik nuttige kennis hat levere oer de Datum yn VBA-koades. Wy riede oan dat jo al dizze ynstruksjes leare en tapasse op jo dataset. Download it oefenwurkboek en besykje dizze sels. Fiel jo ek frij om feedback te jaan yn 'e kommentaardiel. Jo weardefolle feedback hâldt ús motivearre om tutorials lykas dit te meitsjen.

Ferjit net ús webside Exceldemy.com te kontrolearjen foar ferskate Excel-relatearre problemen en oplossingen.

Bliuw nije metoaden leare en bliuw groeie!

Datumfunksjes yn VBA Jo moatte leare

No, yn 'e kommende seksjes, sille wy jo wat ekstra datumfunksjes sjen litte dy't jo kinne brûke foar ferskate doelen yn VBA. Lês dizze seksjes om elke mooglike manier te witten om te wurkjen mei de datum yn VBA. Wy riede oan dat jo se yn jo arsenal hâlde. It sil jo kennis grif ferbetterje.

1. DateAdd-funksje as Datum yn VBA

Yn VBA brûke wy de DateAdd-funksje om dagen yn in bepaalde datum ta te foegjen. Dêrnei sil it de resultearjende datum weromjaan.

Syntaksis:

DateAdd(ynterval, nûmer, datum)

Arguminten:

ynterval: It is ferplicht. String-ekspresje is it ynterval fan tiid dat jo tafoegje wolle.

nûmer: Eask. It is in numerike útdrukking dat it oantal yntervallen is dat jo tafoegje wolle. It kin posityf wêze (om datums yn 'e takomst te krijen) of negatyf (om datums yn it ferline te krijen).

datum: De oarspronklike datum/tiid.

No kinne de ynterval arguminten de folgjende ynstellings hawwe:

yyyy –   Jier

q     – Kwart

m    – Moanne

y –    Dei fan it jier

d     – Dei

w    – Wykedei

ww – Wike

u    – Oere

n    – Minút

s    – Twadde

Koadefragment :

7632

Utfier:

Sa't jo sjen kinne, hat it 15 datums tafoege yn 'e hjoeddeistige datum ynVBA.

Lês mear: Hoe brûke jo IsDate-funksje yn VBA (3 foarbylden)

2. DateDiff-funksje yn VBA

De DateDiff-funksje jout in Fariant (Long) werom dy't it oantal tiidskoften bepaalt tusken twa oantsjutte datums.

Syntaksis :

DateDiff( interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )

Arguminten:

ynterval: It is Required. String-ekspresje is it ynterval fan tiid dat jo tafoegje wolle. Fariant (Datum). Twa datums dy't jo brûke wolle yn 'e berekkening.

firstdayofwike: Opsjoneel. In konstante dy't de earste dei fan 'e wike definiearret. As net fêst, wurdt snein oannommen.

firstweekofyear: Opsjoneel. In konstante dy't de earste wike fan it jier fêststelt. As net ynsteld is, moat de earste wike de wike wêze wêryn 1 jannewaris ferskynt.

No kinne de ynterval arguminten de folgjende ynstellings hawwe:

jjjj –   Jier

q     – Kwart

m    – Moanne

y –    Dei fan it jier

d     – Dei

w    – Wykedei

ww – Wike

u    – Oere

n    – Minút

s    – Twadde

It firstdayofweek argumint hat dizze ynstellings:

vbSunday -brûkt snein as de foaroansteande dei fan de wike.

vbMonday – brûkt moandei as earste dei fan de wike.

vbTuesday – wurket tiisdei as earste dei fan 'e wike.

vbWoensdei - wurket woansdei as earste dei fan 'e wike.

vbThursday - wurket tongersdei as de leaver dei fan de wike.

vbFriday – brûkt freed as earste dei fan de wike.

vbSaturday – wurket sneon as earste dei fan 'e wike.

vbUseSystemDayOfTheWeek - brûkt de earste dei fan 'e wike dy't bepaald wurdt troch de ynstelling fan jo apparaat.

De firstweekofyear hat dizze ynstellings:

vbFirstJan1 – brûkt de wike mei 1 jan.

vbFirstFourDays - brûkt de earste wike dy't op syn minst hat fjouwer dagen yn it nije jier.

vbFirstFullWeek – wurket de earste folsleine wike fan it jier.

vbSystem – brûkt de earste wike fan de jier lykas definiearre troch jo apparaat lokaasjes.

Code Snippet:

2522

Out put :

Op it lêst jout it it ferskil tusken de twa datums yn VBA.

Lês mear: Hoe kinne jo VBA DateDiff-funksje brûke yn Excel (9 foarbylden)

3. DatePart-funksje as datum

De DatePart-funksje jout in fariant (Integer) werom mei it definiearre diel fan in opjûne datum.

Syntaksis :

DatePart(ynterval, datum, [ firstdayofweek, [firstweekofyear ]])

Arguminten:

ynterval: It is ferplicht. String-ekspresje is it ynterval fan tiid dat jo tafoegje wolle. Fariant (Datum). De Datum dy't jo brûke wolle yn 'e berekkening.

firstdayofwike: Opsjoneel. In konstante dy't de earste dei fan 'e wike definiearret. As net fêst, wurdt snein oannommen.

firstweekofyear: Opsjoneel. In konstante dy't de earste wike fan it jier fêststelt. As net ynsteld is, moat de earste wike de wike wêze wêryn 1 jannewaris ferskynt.

No kinne de ynterval arguminten de folgjende ynstellings hawwe:

jjjj –   Jier

q     – Kwart

m    – Moanne

y –    Dei fan it jier

d     – Dei

w    – Wykedei

ww – Wike

u    – Oere

n    – Minút

s    – Twadde

It firstdayofweek argumint hat dizze ynstellings:

vbSunday - brûkt snein as de foarste dei fan 'e wike.

vbMonday - wurket moandei as earste dei fan 'e wike.

vbTuesday - wurket tiisdei as de earste dei fan 'e wike.

vbWednesday – wurket woansdei as de earste dei fan de wike.

vbThursday – wurket tongersdei as de eardere dei fan dewike.

vbFriday - wurket freed as earste dei fan 'e wike.

vbSaturday - wurket sneon as earste dei fan 'e wike.

vbUseSystemDayOfTheWeek - brûkt de earste dei fan 'e wike dy't definiearre is troch de ynstelling fan jo apparaat.

De firstweekofyear hat dizze wearden:

vbFirstJan1 – wurket de wike ynklusyf 1 jan.

vbFirstFourDays – brûkt de earste wike dy't op syn heechst fjouwer dagen ûndermaat hat yn it nije jier.

vbFirstFullWeek – brûkt de earste folsleine wike fan it jier.

vbSystem – brûkt de earste wike fan it jier as selektearre troch jo apparaatlokaasjes.

Koadefragment :

9213

Utfier :

Op dizze manier kinne jo dizze datumfunksje brûke yn VBA-koades.

Lês Mear: Hoe kinne jo VBA FileDateTime-funksje brûke yn Excel (3 gebrûk)

4. DateSerial-funksje

Jo kinne in datum sjen basearre op in ynfierjier, moanne en dei mei de funksje DateSerial .

Syntaksis:

DateSerial(jier, moanne, dei)

Arguminten:

jier - Ferplicht fjild. In nûmer tusken 100 en 9999, ynklusyf, of in numerike útdrukking dy't it jier symbolisearret.

moanne – Ferplicht fjild. In hiele getal wearde dy't de moanne definiearret.

day - Fereaske fjild. In hiel getal wearde dy't de dei beskriuwt.

Code Snippet:

7824

Utfier :

Lês mear: Hoe kinne jo VBA TimeSerial brûke yn Excel (3 foarbylden)

4. VBA DateValue Function

No brûke wy de DateValue-funksje om in datum te definiearjen.

Syntaksis :

DateValue(date)

Argumint:

Hjir is it datum argumint normaal in tekenrige ekspresje dy't in datum fan 1 jannewaris 100 beskriuwt , oant en mei 31 desimber 9999. Hoe dan ek, de datum kin fierders elke útdrukking dy't in datum, in tiid, of sawol in datum as tiid yn dat berik symbolisearje kin.

Code Snippet:

6956

Utfier :

Sa't jo sjen kinne, hawwe wy mei súkses de datumfunksje yn VBA-koades brûkt.

5. Deifunksje yn VBA

It jout in fariant (Integer) werom dy't in reëel getal bepaalt tusken 1 en 31, ynklusyf, oerbringt de dei fan 'e moanne.

Syntaksis :

Dei(datum)

Argument:

It fereaske datumargumint is elke fariant , numerike ekspresje, tekenrige ekspresje, of elke kombinaasje. It stiet foar in datum. As de datum Null befettet, sil it ek Null weromjaan.

Code Snippet:

2834

Utfier:

Sa't jo sjen kinne, mei de VBA-koades hawwe wy fûn dat de dei fan 'e opjûne datum 12 is.

Related Content: VBA Format Function yn Excel (8 gebrûk mei foarbylden)

6. VBA-moannefunksje as datum

It jout in fariant (ynteger) dat in reëel getal definiearret tusken 1 en 12,ynklusyf, de moanne fan it jier oerbringe.

Syntaksis :

Moanne(datum)

Argumint:

It fereaske datumargumint is elke fariant, numerike ekspresje, tekenrige ekspresje, of elke kombinaasje. It stiet foar in datum. As de datum Null befettet, sil it ek Null weromjaan.

Code Snippet:

2351

Utfier:

Besibbe ynhâld: Hoe kinne jo VBA-rjochte funksje brûke yn Excel (6 foarbylden)

Gelykbere lêzingen

  • Hoe kinne jo de VBA-omjouwingsfunksje brûke (4 foarbylden)
  • Hoe kinne jo VBA en funksje brûke yn Excel (4 foarbylden)
  • VBA As - Dan - Else Statement yn Excel (4 foarbylden)
  • Hoe kinne jo VBA Abs-funksje brûke yn Excel (9 foarbylden)
  • Hoe kinne jo Concatenate brûke yn Excel VBA (4 metoaden)

7. MonthName Funksje

It jout in tekenrige dy't de opjûne moanne demonstrearret.

Syntaksis :

MonthName(moanne, [ôfkoarte ])

Argument:

moanne: It is ferplicht. De numerike titel fan 'e moanne. Bygelyks, jannewaris is 1, febrewaris is 2, ensfh.

ôfkoarte: It is opsjoneel. Booleaanske wearde dy't oanjout as de moannenamme ôfkoarte wurde moat. As oerslaan is de standert False, wat oanjout dat de moannenamme net ôfkoarte is.

Code Snippet:

4542

Utfier:

Sa't jo sjen kinne, hawwe wy de namme fan 'e moanne fûntroch dizze VBA-datumfunksje.

8. Wykedeifunksje

It jout in Fariant ( Gehele getal ) dy't in reëel getal hat dat de dei útdrukt fan 'e wike.

Syntaksis :

Wikedei (datum, [ earste dei fan 'e wike ])

Argumint:

datum: It fereaske datumargumint is elke fariant, numerike ekspresje, tekenrige ekspresje, of elke kombinaasje. It stiet foar in datum. As de datum Null befettet, sil it ek Null weromjaan.

firstdayofweek: Opsjoneel. In konstante dy't de earste dei fan 'e wike definiearret. As it net fêst is, wurdt snein oannommen.

It firstdayofweek argumint hat dizze ynstellings:

vbSunday – brûkt snein as de foarste dei fan de wike.

vbMonday – brûkt moandei as earste dei fan de wike.

vbTuesday – wurket tiisdei as earste dei fan 'e wike.

vbWoensdei - wurket woansdei as earste dei fan 'e wike.

vbThursday - wurket tongersdei as de eardere dei fan de wike.

vbFriday – wurket freed as de earste dei fan de wike.

vbSaturday – wurket sneon as de earste dei fan de wike .

vbUseSystemDayOfTheWeek - brûkt de earste dei fan 'e wike dy't definiearre is troch de ynstelling fan jo apparaat.

Returnparameters

No jout dizze funksje in hiel getal werom. Dus, de betsjutting fan dy hiele getallen binne de folgjende:

1

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.