VBA funkcija datuma (12 upotreba makronaredbi s primjerima)

  • Podijeli Ovo
Hugh West

Sadržaj

U aplikaciji Microsoft Visual Basic funkcije datuma ili bilo koji koncepti povezani s datumom neophodni su za izvođenje raznih operacija u vašem skupu podataka. Možete se naći u različitim situacijama u kojima ćete morati koristiti ove funkcije. U ovom ćete vodiču naučiti o funkciji datuma u VBA s prikladnim primjerima i odgovarajućim ilustracijama. Također, pružit ćemo vam višestruke funkcije za datume koje možete implementirati u svoj radni list.

Preuzmite vježbovnu bilježnicu

Upotrebe VBA Date.xlsm

Uvod u VBA funkciju datuma

Excel kategorizira datume u funkciji Datum/vrijeme . To je ugrađena funkcija. Možemo ga koristiti u VBA makronaredbama za izvođenje bilo kakvih operacija povezanih s datumom.

Prije nego počnete s funkcijom Datum, morate znati o varijablama datuma u VBA .

⏺ Sintaksa

Datum()

⏺ Argumenti Objašnjenja

Nema argumenata .

⏺ Vraća

Vraća trenutni datum.

⏺ Dostupno u

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

⏺ Primjer

Kao što znate, nema argumenata, možete ih samo unijeti na sljedeći način:

3237

Kada radimo s funkcijom Datum, ne stavljamo nikakve zagrade u VBA kodove kao u ovom primjeru.

Izlaz :

12Nedjelja

2 –       Ponedjeljak

3 –       Utorak

4 –       Srijeda

5 –       četvrtak

6 –        petak

7 –       subota

Isječak koda:

4326

Izlaz:

Kao što vidite, VBA funkcija datuma vraća 4. To znači Srijeda.

Povezani sadržaj: Kako koristiti funkciju popravka u programu Excel VBA (4 primjera)

9. VBA funkcija WeekdayName

Vraća niz koji prikazuje ograničeni dan u tjednu.

Sintaksa :

Nazivdana u tjednu(dan u tjednu, skraćeno, prvidan u tjednu)

Argument:

radni dan: Obavezno polje. Numerička identifikacija za dan u tjednu. Numerička vrijednost svakog dana ovisi o postavci prvog dana u tjednu.

skraćeno: Ovo je izborno. Booleova vrijednost koja implicira hoće li se naziv dana u tjednu skratiti. Ako se preskoči, zadana vrijednost je False, što znači da naziv dana u tjednu nije skraćen ili skraćen.

prvi dan u tjednu: Neobavezno polje. Numerička vrijednost koja označava prvi dan u tjednu. Može imati različite vrijednosti.

Argument firstdayofweek može imati sljedeće vrijednosti:

vbSunday – koristi nedjelju kao prvi dan u tjednu.

vbMonday – koristi ponedjeljak kao prvi dan u tjednu.

vbTuesday – radi utorak kao prvi dan dan odtjedan.

vbSrijeda – upotrebljava srijedu kao prvi dan u tjednu.

vbČetvrtak – radi četvrtak kao bolji dan u tjednu .

vbPetak – koristi petak kao prvi dan u tjednu.

vbSubota – radi subotu kao prvi dan u tjednu.

vbUseSystemDayOfTheWeek – koristi prvi dan u tjednu koji je definiran postavkom vašeg uređaja.

Isječak koda:

8544

Izlaz:

Kao što vidite, gornji VBA kodovi prikazuju naziv dana u tjednu.

Povezani sadržaj: Kako za korištenje funkcije VBA WeekdayName u Excelu (2 primjera)

10. Funkcija Year u VBA Datum

Ona vraća varijantu (cijeli broj) koja ima stvarni broj koji izražava godinu.

Sintaksa :

Godina(datum)

Argument:

Potrebni argument datuma je bilo koja varijanta, numerički izraz, izraz niza ili bilo koja kombinacija. Predstavlja datum. Ako datum uključuje Null, također će vratiti Null.

Isječak koda:

1264

Izlaz:

Ovdje možete vidjeti godinu zadanog datuma nakon implementacije VBA koda.

Pročitajte više: Kako koristiti VBA funkciju zamjene u Excelu ( 11 Aplikacije)

11. Funkcija FormatDateTime

Ova funkcija vraća izraz formatiran kao datum ili vrijeme.

Sintaksa :

FormatDateTime(Datum, [ NamedFormat])

Argument:

Datum: Obavezno polje. Datumski izraz koji treba oblikovati.

NamedFormat: Ovo je izborno. To je numerička vrijednost koja prikazuje format datuma/vremena. Ako je izostavljen, koristio je vbGeneralDate .

NamedFormat može imati sljedeće vrijednosti:

vbGeneralDate (0): Prikaži datum i/ili vrijeme. Ako postoji dio s datumom, izrazite ga kao kratak datum. Ako postoji vremenski dio, prikažite ga kao dugo vrijeme. Oba su dijela izložena ako su prisutna.

vbLongDate(1): Prikaz datuma pomoću konfiguracije dugog datuma odabrane u regionalnim postavkama vašeg računala.

vbShortDate (2): Prikažite datum korištenjem kratkog formata datuma određenog u regionalnim postavkama vašeg računala.

vbLongTime(3): Prikažite vrijeme korištenjem formata vremena navedenog u regionalne postavke vašeg računala.

vbShortTime(4): Prikažite vrijeme u 24-satnom formatu (hh:mm).

Isječak koda:

5779

Izlaz:

Vidjet ćete sljedeće dijaloške okvire nakon pokretanja koda:

Ovdje možete vidjeti sve formate vremena i datuma u VBA.

Pročitajte više: Kako koristiti VBA funkciju TimeValue (6 relevantnih primjera)

12. VBA CDate funkcija

Funkcija pretvara važeći izraz datuma i vremena u tipičan datum.

Sintaksa :

CDatum(datum)

Argument:

Potrebni argument datuma je bilo koja varijanta, numerički izraz, izraz niza ili bilo koja kombinacija. Predstavlja datum. Ako datum uključuje Null, također će vratiti Null.

Isječak koda:

9092

Izlaz:

Kao što vidite, naš VBA kod upravo je vratio tipičan format datuma programa Excel.

Povezani sadržaj: Kako koristiti VBA DIR funkciju u programu Excel (7 primjera)

Primjeri VBA datuma

U sljedećim odjeljcima pružit ćemo vam tri praktična i prikladna primjera datuma pomoću VBA. Ovi primjeri će sadržavati probleme vezane uz datume i njihova rješenja. Preporučujemo da pročitate i vježbate sve ove primjere kako biste poboljšali svoje znanje VBA. Krenimo na to.

1. Izračunajte dane kašnjenja pomoću datuma u VBA

Značenje kašnjenja je kasno ili nakon isteka roka. Kasno, posebice, nakon isteka roka ili prekasno za ispunjavanje uvjeta.

Pretpostavimo da morate predati zadatak do nedjelje. Ali utorak je, a vi ga niste predali. Možete to nazvati dva dana kašnjenja.

Pogledajte sljedeći skup podataka:

Ovdje imamo skup podataka nekih učenika i njihovu predaju zadataka datum. Možete vidjeti posljednji datum predaje. Naš cilj je pronaći datum kašnjenja na temelju datuma podnošenja. Sada, da biste to postigli, slijedite ove korake:

📌 Koraci

  • Prvo pritisnite Alt+F11 na tipkovnici za otvaranje VBA editora.
  • Zatim odaberite Umetni > Modul .

  • Nakon toga upišite sljedeći kod:
5640

Koristili smo ABS funkcija za uklanjanje znaka minus.

  • Zatim spremite datoteku.
  • Nakon toga pritisnite Alt+F8 na tipkovnici za otvaranje dijaloški okvir Makro.
  • Zatim odaberite
  • Zatim kliknite na Pokreni .

Kao što vidite, uspješno smo upotrijebili datum u VBA i pronašli dane kašnjenja.

Slična čitanja

  • Kako koristiti VBA prostor Funkcija u programu Excel (3 primjera)
  • Koristite funkciju VBA ChDir u programu Excel (4 prikladna primjera)
  • Kako koristiti funkciju IsNull u programu Excel VBA (5 primjera)
  • Koristite naredbu VBA While Wend u Excelu (4 primjera)
  • Kako pozvati Sub u VBA u Excelu (4 Primjeri)

2. Pronađite godinu rođenja prema datumu koristeći VBA

Sada možete pronaći godinu od određenog datuma. Ovo je prilično jednostavno pronaći.

Pogledajte sljedeći skup podataka:

Ovdje možete vidjeti datume rođenja nekih osoba. Naš je cilj izvući godinu rođenja iz datuma, a također i godinu rođenja posljednjeg unosa Elizabeth.

📌 Koraci

  • Prvo pritisnite Alt+F11 na tipkovnici za otvaranje VBA uređivača.
  • Zatim odaberite Umetni>modul .

  • Nakon toga upišitesljedeći kod:
6359
  • Zatim spremite datoteku.
  • Nakon toga pritisnite Alt+F8 na tipkovnici da biste otvorili dijaloški okvir Macro okvir.
  • Zatim odaberite find_year .
  • Zatim kliknite na Pokreni .

Konačno, možete vidjeti da smo uspješni u izdvajanju godine rođenja iz svakog datuma. Također, pronašli smo godinu rođenja posljednjeg unosa pomoću datuma VBA u Excelu.

3. Dodajte dane u datum pomoću VBA

Sada možete definirati varijablu datuma i koristiti je za dodavanje datuma. Da bismo to izveli, koristimo DateAdd metodu VBA. Ovu funkciju možete koristiti za dodavanje dana, mjeseci i godina određenom datumu.

Pogledajte sljedeći skup podataka:

Ovdje, može vidjeti neka imena i neke datume pridružene njima. Sada je naš cilj dodati još pet dana ovim danim datumima i generirati novi datum.

📌 Koraci

  • Prvo pritisnite Alt +F11 na tipkovnici za otvaranje VBA uređivača.
  • Zatim odaberite Umetni>modul .

  • Nakon toga upišite sljedeći kod:
9996

Ovdje smo koristili “d” kao argument u funkciji DateAdd. Možete ga promijeniti u “y” ili “m” da dodate godine ili mjesece, redom,

  • Zatim spremite datoteku.
  • Nakon toga pritisnite Alt+F8 na tipkovnici da biste otvorili dijaloški okvir Macro.
  • Zatim odaberite.
  • Zatim kliknite Pokreni .

Koliko možetevidite, uspješno smo dodali dane u datum koristeći datum u VBA. Sada možete modificirati kod prema vlastitom izboru.

💬 Stvari koje treba zapamtiti

VBA funkcija Datum zapravo radi kao funkcija TODAY u Excelu.

VBA DATUM je nepromjenjiva funkcija u Excelu. To znači da će zadržati podatke čak i ako dođe do prekida napajanja.

U osnovi, VBA sprema datumske vrijednosti kao DATUM u vrijeme implementacije.

Dakle, ako pokušate dodijeliti varijablu datuma kao niz/tekst, to će izazvati pogrešku.

Zadana vrijednost Datuma je 0: 00:00 (ponoć) 1. siječnja 0001.

Zaključak

Za kraj, nadam se da vam je ovaj vodič pružio djelić korisnog znanja o datumu u VBA kodovima. Preporučujemo da naučite i primijenite sve ove upute na svoj skup podataka. Preuzmite radnu bilježnicu za vježbanje i isprobajte ih sami. Također, slobodno dajte povratne informacije u odjeljku za komentare. Vaše vrijedne povratne informacije motiviraju nas za izradu ovakvih vodiča.

Ne zaboravite provjeriti našu web stranicu Exceldemy.com za različite probleme i rješenja u vezi s Excelom.

Nastavite učiti nove metode i nastavite rasti!

Funkcije datuma u VBA koje biste trebali naučiti

Sada, u nadolazećim odjeljcima, pokazat ćemo vam neke dodatne funkcije datuma koje možete koristiti u brojne svrhe u VBA. Pročitajte ove odjeljke da biste saznali sve moguće načine rada s datumom u VBA. Predlažemo da ih zadržite u svom arsenalu. Sigurno će poboljšati vaše znanje.

1. Funkcija DateAdd kao datum u VBA

U VBA koristimo funkciju DateAdd za dodavanje dana u određeni datum. Nakon toga, vratit će rezultirajući datum.

Sintaksa:

DateAdd(interval, broj, datum)

Argumenti:

interval: Potrebno je. Izraz niza je interval vremena koji želite dodati.

broj: Obavezno. To je numerički izraz koji predstavlja broj intervala koje želite dodati. Može biti pozitivan (za dobivanje datuma u budućnosti) ili negativan (za dobivanje datuma u prošlosti).

datum: Izvorni datum/vrijeme.

Sada, interval argumenti mogu imati sljedeće postavke:

yyyy –   Godina

q     – Tromjesečje

m    – Mjesec

y –    Dan u godini

d     – Dan

w    – Radni dan

ww – Tjedan

h    – Sat

n    – Minuta

s    – Sekunda

Isječak koda :

7352

Izlaz:

Kao što vidite, dodao je 15 datuma u trenutnom datumu uVBA.

Pročitajte više: Kako koristiti funkciju IsDate u VBA (3 primjera)

2. Funkcija DateDiff u VBA

Funkcija DateDiff vraća Variant (Long) određujući broj vremenskih razmaka između dva navedena datuma.

Sintaksa :

DateDiff( interval, datum1, datum2, [ prvi dan u tjednu, [ prvi tjedan u godini ]] )

Argumenti:

interval: To je Potreban. String izraz je interval vremena koji želite dodatiString izrazu koji je vremenski razmak koji koristite za izračunavanje razlike između dva datuma.

datum1,datum2 : Obavezno; Varijanta (Datum). Dva datuma koja želite koristiti u izračunu.

prvi dan u tjednu: Opcionalno. Konstanta koja definira prvi dan u tjednu. Ako nije fiksno, pretpostavlja se nedjelja.

prvi tjedan u godini: Izborno. Konstanta koja određuje prvi tjedan u godini. Ako nije postavljeno, prvi bi tjedan trebao biti tjedan u kojem se pojavljuje 1. siječnja.

Sada, argumenti intervala mogu imati sljedeće postavke:

gggg –   Godina

q     – Tromjesečje

m    – Mjesec

y –    Dan u godini

d     – Dan

w    – Dan u tjednu

ww – Tjedan

h    – Sat

n    – Minuta

s    – Drugi

Argument prvi dan u tjednu ima ove postavke:

vbNedjelja –koristi nedjelju kao prvi dan u tjednu.

vbMonday – koristi ponedjeljak kao prvi dan u tjednu.

vbTuesday – radi utorkom kao prvi dan u tjednu.

vbSrijeda – koristi srijedu kao prvi dan u tjednu.

vbČetvrtak – radi četvrtak kao radije dan u tjednu.

vbPetak – koristi petak kao prvi dan u tjednu.

vbSubota – radi subotu kao prvi dan u tjednu.

vbUseSystemDayOfTheWeek – koristi prvi dan u tjednu koji je definiran postavkom vašeg uređaja.

firstweekofyear ima ove postavke:

vbFirstJan1 – koristi tjedan koji sadrži 1. siječnja.

vbFirstFourDays – koristi prvi tjedan koji ima najmanje četiri dana u novoj godini.

vbFirstFullWeek – radi prvi puni tjedan u godini.

vbSystem – koristi prvi tjedan u godine kako je definirano lokacijama vašeg uređaja.

Code Snippet:

8407

Out put :

Na kraju, vraća razliku između dva datuma u VBA.

Pročitajte više: Kako koristiti VBA funkciju DateDiff u Excelu (9 primjera)

3. Funkcija DatePart kao datum

Funkcija DatePart vraća varijantu (cijeli broj) koja sadrži definirani dio navedeni datum.

Sintaksa :

DatumPart(interval, datum, [ prvidan u tjednu, [prvi tjedan godine ]])

Argumenti:

interval: Potrebno je. String izraz je interval vremena koji želite dodatiString izrazu koji je vremenski razmak koji koristite za izračunavanje razlike između dva datuma.

datum: Obavezno; Varijanta (Datum). Datum koji želite koristiti u izračunu.

prvi dan u tjednu: Opcionalno. Konstanta koja definira prvi dan u tjednu. Ako nije fiksno, pretpostavlja se nedjelja.

prvi tjedan u godini: Izborno. Konstanta koja određuje prvi tjedan u godini. Ako nije postavljeno, prvi bi tjedan trebao biti tjedan u kojem se pojavljuje 1. siječnja.

Sada, argumenti intervala mogu imati sljedeće postavke:

gggg –   Godina

q     – Tromjesečje

m    – Mjesec

y –    Dan u godini

d     – Dan

w    – Dan u tjednu

ww – Tjedan

h    – Sat

n    – Minuta

s    – Drugi

Argument prvi dan u tjednu ima ove postavke:

vbNedjelja – koristi nedjelju kao prvi dan u tjednu.

vbMonday – koristi ponedjeljak kao prvi dan u tjednu.

vbTuesday – radi utorak kao prvi dan u tjednu.

vbSrijeda – koristi srijedu kao prvi dan u tjednu.

vbČetvrtak – radi četvrtak kao bolji dan u tjednutjedan.

vbPetak – koristi petak kao prvi dan u tjednu.

vbSubota – radi subotu kao prvi dan u tjednu.

vbUseSystemDayOfTheWeek – koristi prvi dan u tjednu koji je definiran postavkom vašeg uređaja.

prvi tjedan godine ima ove vrijednosti:

vbFirstJan1 – radi u tjednu uključujući 1. siječnja.

vbFirstFourDays – koristi prvi tjedan koji ima najviše četiri premala dana u nova godina.

vbFirstFullWeek – koristi prvi puni tjedan u godini.

vbSystem – koristi prvi tjedan u godini kako je odabrano prema lokacijama vašeg uređaja.

Isječak koda :

5975

Izlaz :

Na ovaj način možete koristiti ovu funkciju datuma u VBA kodovima.

Pročitajte više: Kako koristiti VBA funkciju FileDateTime u Excelu (3 upotrebe)

4. Funkcija DateSerial

Možete vidjeti datum na temelju unesene godine, mjeseca i dana pomoću funkcije DateSerial .

Sintaksa:

DateSerial(godina, mjesec, dan)

Argumenti:

godina – Obavezno polje. Broj između 100 i 9999, uključivo, ili numerički izraz koji simbolizira godinu.

mjesec – Obavezno polje. Cjelobrojna vrijednost koja definira mjesec.

dan – Obavezno polje. Vrijednost cijelog broja koja opisuje dan.

Isječak koda:

6375

Izlaz :

Pročitajte više: Kako koristiti VBA TimeSerial u Excelu (3 primjera)

4. VBA Funkcija DateValue

Sada koristimo funkciju DateValue za definiranje datuma.

Sintaksa :

DateValue(datum)

Argument:

Ovdje je argument datum obično izraz niza koji opisuje datum od 1. siječnja 100. , do 31. prosinca 9999. Bez obzira na to, datum može nadalje bilo koji izraz koji može simbolizirati datum, vrijeme ili i datum i vrijeme u tom rasponu.

Isječak koda:

9869

Izlaz :

Kao što vidite, uspješno smo upotrijebili funkciju datuma u VBA kodovima.

5. Funkcija dana u VBA

Vraća varijantu (cijeli broj) određujući realni broj između 1 i 31, uključivo, prenoseći dan u mjesecu.

Sintaksa :

Dan(datum)

Argument:

Potrebni argument datuma je bilo koja varijanta , numerički izraz, izraz niza ili bilo koja kombinacija. Predstavlja datum. Ako datum uključuje Null, također će vratiti Null.

Isječak koda:

7869

Izlaz:

Kao što vidite, korištenjem VBA kodova pronašli smo da je dan zadanog datuma 12.

Povezani sadržaj: Funkcija VBA formata u Excel (8 upotreba s primjerima)

6. VBA funkcija mjeseca kao datuma

Vraća varijantu (cijeli broj) definirajući realni broj između 1 i 12,uključivo, prenoseći mjesec u godini.

Sintaksa :

Mjesec(datum)

Argument:

Potrebni argument datuma je bilo koja varijanta, numerički izraz, izraz niza ili bilo koja kombinacija. Predstavlja datum. Ako datum uključuje Null, također će vratiti Null.

Isječak koda:

5629

Izlaz:

Povezani sadržaj: Kako koristiti VBA pravu funkciju u Excelu (6 primjera)

Slična čitanja

  • Kako koristiti VBA Environ funkciju (4 primjera)
  • Kako koristiti VBA i funkciju u Excelu (4 primjera)
  • VBA If – Then – Else izjava u Excelu (4 primjera)
  • Kako koristiti VBA Abs funkciju u Excelu (9 primjera)
  • Kako koristiti Concatenate u programu Excel VBA (4 metode)

7. Funkcija MonthName

Ona vraća niz koji pokazuje navedeni mjesec.

Sintaksa :

Naziv mjeseca(mjesec, [ skraćeno ])

Argument:

mjesec: Potrebno je. Brojčani naziv mjeseca. Na primjer, siječanj je 1, veljača je 2, i tako dalje.

skraćeno: Nije obavezno. Booleova vrijednost koja pokazuje treba li naziv mjeseca biti skraćen. Ako se preskoči, zadana vrijednost je False, što znači da naziv mjeseca nije skraćen.

Isječak koda:

2994

Izlaz:

Kao što vidite, pronašli smo naziv mjesecaovom VBA funkcijom datuma.

8. Funkcija dana u tjednu

Ona vraća varijantu ( cijeli broj ) koja posjeduje realni broj koji izražava dan tjedan.

Sintaksa :

Radni dan(datum, [ prvidan u tjednu])

Argument:

datum: Potrebni argument datuma je bilo koja varijanta, numerički izraz, izraz niza ili bilo koja kombinacija. Predstavlja datum. Ako datum uključuje Null, također će vratiti Null.

prvi dan u tjednu: Opcionalno. Konstanta koja definira prvi dan u tjednu. Ako nije fiksno, pretpostavlja se nedjelja.

Argument firstdayofweek ima ove postavke:

vbSunday – koristi nedjelju kao prvi dan u tjednu.

vbMonday – koristi ponedjeljak kao prvi dan u tjednu.

vbTuesday – radi utorak kao prvi dan dan u tjednu.

vbSrijeda – upotrebljava srijedu kao prvi dan u tjednu.

vbČetvrtak – radi četvrtak kao bolji dan od tjedan.

vbPetak – koristi petak kao prvi dan u tjednu.

vbSubota – radi subotu kao prvi dan u tjednu .

vbUseSystemDayOfTheWeek – koristi prvi dan u tjednu koji je definiran postavkom vašeg uređaja.

Povratni parametri

Ova funkcija vraća cijeli broj. Dakle, značenje tih cijelih brojeva je sljedeće:

1

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.