VBA funkcija datuma (12 upotreba makroa s primjerima)

  • Podijeli Ovo
Hugh West

Sadržaj

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

Preuzmite Vjež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 makroima za obavljanje bilo koje operacije vezane za datum.

Prije nego počnete s funkcijom Date, 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, ne postoje argumenti koje možete samo unijeti na sljedeći način:

6259

Kada radimo sa funkcijom Date, ne dajemo nikakve zagrade u VBA kodovima kao što je ovaj primjer.

Izlaz :

12Nedjelja

2 –       Ponedjeljak

3 –       utorak

4 –       srijeda

5 –       Četvrtak

6 –       Petak

7 –       Subota

Isječak koda:

2723

Izlaz:

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

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

9. VBA Funkcija WeekdayName

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

Sintaksa :

Naziv dana u tjednu(dan u tjednu, skraćeno, prvi dan u sedmici)

Argument:

radni dan: Obavezno polje. Numerička identifikacija za dan u sedmici. Numerička vrijednost svakog dana se oslanja na postavku postavke za prvi dan u tjednu.

skraćeno: Ovo je Opciono. Boolean vrijednost koja implicira da li se naziv dana u tjednu treba 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 sedmici: Opcionalno polje. Numerička vrijednost koja označava prvi dan u sedmici. Može imati različite vrijednosti.

Argument prvi dan u sedmici može imati sljedeće vrijednosti:

vbSunday – koristi nedjelju kao prvi dan u sedmici.

vbMonday – koristi ponedjeljak kao prvi dan u sedmici.

vbTuesday – radi utorkom kao prvi dansedmica.

vbWednesday – koristi sredu kao prvi dan u nedelji.

vbThursday – radi četvrtkom kao pre svega dan u nedelji .

vbFriday – koristi petak kao prvi dan u sedmici.

vbSaturday – radi subotom kao prvi dan u sedmici.

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

Isječak koda:

6939

Izlaz:

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

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

10. Funkcija godine u VBA Datum

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, string izraz ili bilo koja kombinacija. Predstavlja datum. Ako datum uključuje Null, također će vratiti Null.

Isječak koda:

3210

Izlaz:

Ovdje možete vidjeti godinu zadatog 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 :

FormatDatumVrijeme(Datum, [NamedFormat])

Argument:

Datum: Obavezno polje. Izraz datuma koji treba formatirati.

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 datuma, izrazite ga kao kratak datum. Ako postoji vremenski dio, prikažite ga kao dugo vrijeme. Oba dijela su izložena ako postoje.

vbLongDate(1): Prikažite datum korištenjem konfiguracije dugog datuma odabrane u regionalnim postavkama vašeg računara.

vbShortDate (2): Prikaži datum koristeći format kratkog datuma koji je naveden u regionalnim postavkama vašeg računara.

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

vbShortTime(4): Prikažite vrijeme koristeći 24-satni format (hh:mm).

Isječak koda:

4301

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 TimeValue funkciju (6 relevantnih primjera)

12. VBA CDate funkcija

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

Sintaksa :

CD datum(datum)

Argument:

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

Isječak koda:

5414

Izlaz:

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

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

Primjeri VBA datuma

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

1. Izračunajte dane kašnjenja koristeći datum u VBA

Značenje kašnjenja se dešava sa zakašnjenjem ili je prošao rok. Kasno, posebno, nakon isteka roka ili prekasno da ispunite zahtjev.

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 da pronađemo datum kašnjenja na osnovu datuma predaje. Sada, da biste to postigli, slijedite ove korake:

📌 Koraci

  • Prvo, pritisnite Alt+F11 na tastaturi da otvorite VBA editor.
  • Zatim izaberite Insert > Modul .

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

Koristili smo ABS funkcija za uklanjanje znaka minus.

  • Zatim, sačuvajte datoteku.
  • Nakon toga pritisnite Alt+F8 na tastaturi da otvorite dijaloški okvir Makro.
  • Dalje, odaberite
  • Zatim kliknite na Pokreni .

Kao što vidite, uspješno smo iskoristili datum u VBA i pronašli zakasnele dane.

Slična očitanja

  • Kako koristiti VBA prostor Funkcija u Excelu (3 primjera)
  • Koristite VBA ChDir funkciju u Excelu (4 pogodna primjera)
  • Kako koristiti IsNull funkciju u Excel VBA (5 primjera)
  • Koristite VBA dok Wend naredbu u Excelu (4 primjera)
  • Kako pozvati sub u VBA u Excelu (4 Primjeri)

2. Pronađite godinu rođenja od datuma 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 datum rođenja nekih osoba. Naš cilj je da izdvojimo godinu rođenja iz datuma, kao i godinu rođenja posljednjeg unosa Elizabeth.

📌 Koraci

  • Prvo, pritisnite Alt+F11 na vašoj tastaturi da otvorite VBA editor.
  • Zatim izaberite Insert>Module .

  • Nakon toga otkucajtesljedeći kod:
8664
  • Zatim, sačuvajte datoteku.
  • Nakon toga pritisnite Alt+F8 na tastaturi da otvorite makro dijalog okvir.
  • Dalje, odaberite find_year .
  • Zatim kliknite na Run .

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 koristeći datum VBA u Excelu.

3. Dodajte dane u datum koristeći VBA

Sada možete definirati varijablu datuma i koristiti je da dodate datum. Da bismo ovo izvršili, koristimo metodu DateAdd VBA. Ovu funkciju možete koristiti za dodavanje dana, mjeseci i godina određenom datumu.

Pogledajte sljedeći skup podataka:

Ovdje možete mogu vidjeti neka imena i neke datume u prilogu. Sada, naš cilj je da ovim datim datumima dodamo još pet dana i generišemo novi datum.

📌 Koraci

  • Prvo, pritisnite Alt +F11 na vašoj tastaturi da otvorite VBA editor.
  • Zatim odaberite Insert>Module .

  • Nakon toga, upišite sljedeći kod:
3219

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

  • Zatim, sačuvajte datoteku.
  • Nakon toga pritisnite Alt+F8 na tastaturi da otvorite dijaloški okvir Makro.
  • Dalje, odaberite.
  • Zatim kliknite na Pokreni .

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

💬 Stvari koje treba zapamtiti

VBA Date funkcija zapravo radi kao funkcija DANAS u Excelu.

VBA DATE 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 vrijednosti datuma kao DATE u vrijeme implementacije.

Dakle, ako pokušate dodijeliti varijablu datuma kao string/tekst, to će uzrokovati grešku.

Zadana vrijednost datuma je 0: 00:00 (ponoć) 1. januara 0001.

Zaključak

Da zaključimo, nadam se da vam je ovaj vodič pružio dio korisnog znanja o datumu u VBA kodovima. Preporučujemo da naučite i primijenite sve ove upute na svoj skup podataka. Preuzmite radnu svesku i isprobajte ih sami. Također, slobodno dajte povratne informacije u odjeljku za komentare. Vaše vrijedne povratne informacije nas motiviraju za kreiranje ovakvih tutorijala.

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

Nastavite da učite nove metode i nastavite da rastete!

Funkcije datuma u VBA koje biste trebali naučiti

Sada ćemo vam u narednim odjeljcima pokazati neke dodatne funkcije datuma koje možete koristiti u brojne svrhe u VBA. Pročitajte ove odeljke da biste saznali sve moguće načine rada sa datumom u VBA. Predlažemo da ih zadržite u svom arsenalu. To će sigurno poboljšati vaše znanje.

1. DateAdd funkcija kao datum u VBA

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

Sintaksa:

Dodavanje datuma(interval, broj, datum)

Argumenti:

interval: Potreban je. Izraz stringa je vremenski interval koji želite dodati.

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

datum: Originalni datum/vrijeme.

Sada, interval argumenti mogu imati sljedeće postavke:

yyyy –   Godina

q     – Kvart

m    – Mjesec

y –    Dan u godini

d     – Dan

w    – Radnim danom

ww – Sedmica

h    – Sat

n    – Minuta

s    – Druga

Isječak koda :

8976

Izlaz:

Kao što vidite, dodao je 15 datuma u trenutni datum uVBA.

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

2. DateDiff funkcija u VBA

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

Sintaksa :

DateDiff( interval, datum1, datum2, [ prvi dan sedmice, [ prva sedmica godine ]] )

Argumenti:

interval: To je Obavezno. String izraz je vremenski interval koji želite da dodateString izraz koji je vremenski razmak koji koristite za izračunavanje razlike između dva datuma.

datum1,date2 : Obavezno; Varijanta (datum). Dva datuma koja želite da koristite u izračunu.

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

prva sedmica godine: Opcionalno. Konstanta koja uspostavlja prvu sedmicu u godini. Ako nije postavljeno, prva sedmica bi trebala biti sedmica u kojoj se pojavljuje 1. januar.

Sada, interval argumenti mogu imati sljedeće postavke:

yyyy –   Godina

q     – Kvartal

m    – Mjesec

y –    Dan u godini

d     – Dan

w    – Radnim danom

ww – Sedmica

h    – Sat

n    – Minuta

s    – Drugi

Argument prvi dan u sedmici ima ove postavke:

vbSunday –koristi nedjelju kao glavni dan u sedmici.

vbMonday – koristi ponedjeljak kao prvi dan u sedmici.

vbTuesday – radi utorkom kao prvi dan u sedmici.

vbWednesday – koristi srijedu kao prvi dan u sedmici.

vbThursday – radi četvrtkom kao radije dan u sedmici.

vbFriday – koristi petak kao prvi dan u sedmici.

vbSaturday – radi subotom kao prvi dan u sedmici.

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

prva sedmica godine ima ove postavke:

vbFirstJan1 – koristi sedmicu koja sadrži 1. januar.

vbFirstFourDays – koristi prvu sedmicu koja ima najmanje četiri dana u novoj godini.

vbFirstFullWeek – radi prve cijele sedmice u godini.

vbSystem – koristi prvu sedmicu godine kako je definirano lokacijama vašeg uređaja.

Isječak koda:

9711

Out put :

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

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

3. DatePart funkcija kao datum

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

Sintaksa :

DatePart(interval, date, [ firstdayofweek, [prva sedmica godine ]])

Argumenti:

interval: Potreban je. String izraz je vremenski interval koji želite da dodateString izraz 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 sedmici: Opcionalno. Konstanta koja definira prvi dan u sedmici. Ako nije fiksno, pretpostavlja se nedjelja.

prva sedmica godine: Opcionalno. Konstanta koja uspostavlja prvu sedmicu u godini. Ako nije postavljeno, prva sedmica bi trebala biti sedmica u kojoj se pojavljuje 1. januar.

Sada, interval argumenti mogu imati sljedeće postavke:

yyyy –   Godina

q     – Kvartal

m    – Mjesec

y –    Dan u godini

d     – Dan

w    – Radnim danom

ww – Sedmica

h    – Sat

n    – Minuta

s    – Drugi

Argument prvi dan u sedmici ima ove postavke:

vbSunday – koristi nedjelju kao glavni dan u sedmici.

vbMonday – koristi ponedjeljak kao prvi dan u sedmici.

vbTuesday – radi utorkom kao prvi dan u sedmici.

vbWednesday – koristi sredu kao prvi dan u nedelji.

vbThursday – radi četvrtak kao pravi dansedmica.

vbFriday – koristi petak kao prvi dan u sedmici.

vbSaturday – radi subotom kao prvi dan u sedmici.

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

prva sedmica godine ima ove vrijednosti:

vbFirstJan1 – upravlja sedmicom uključujući 1. januar.

vbFirstFourDays – koristi prvu sedmicu koja ima najviše četiri dana u nova godina.

vbFirstFullWeek – koristi prvu cijelu sedmicu u godini.

vbSystem – koristi prvu sedmicu godine kako je odabrano prema lokacijama vašeg uređaja.

Isječak koda :

7041

Izlaz :

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

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

4. DateSerial funkcija

Možete vidjeti datum na osnovu unesene godine, mjeseca i dana koristeći funkciju DateSerial .

Sintaksa:

DatumSerial(godina, mjesec, dan)

Argumenti:

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

mjesec – Obavezno polje. Cjelobrojna vrijednost koja definira mjesec.

dan – Obavezno polje. Cjelobrojna vrijednost koja opisuje dan.

Isječak koda:

1776

Izlaz :

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

4. VBA DateValue funkcija

Sada koristimo funkciju DateValue da definiramo datum.

Sintaksa :

Value datuma(datum)

Argument:

Ovdje, date argument je obično string izraz koji opisuje datum od 1. januara 100. , do 31. decembra 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:

3638

Izlaz :

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

5. Funkcija dana u VBA

Vraća Variant (Integer) koji određuje stvarni broj između 1 i 31, uključujući, prenoseći dan u mjesecu.

Sintaksa :

Dan(datum)

Argument:

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

Isječak koda:

5161

Izlaz:

Kao što vidite, korištenjem VBA kodova otkrili smo da je dan datog datuma 12.

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

6. VBA mjesečna funkcija kao datum

Vraća varijantu (cijeli broj) koja definira pravi broj između 1 i 12,uključujući, prenosi mjesec u godini.

Sintaksa :

Mjesec(datum)

Argument:

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

Isječak koda:

7643

Izlaz:

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

Slična očitanja

  • Kako koristiti VBA Environ funkciju (4 primjera)
  • Kako koristiti VBA i funkciju u Excelu (4 primjera)
  • VBA If – Onda – Naredba Else u Excelu (4 primjera)
  • Kako koristiti VBA Abs funkciju u Excelu (9 primjera)
  • Kako koristiti konkatenaciju u Excel VBA (4 metode)

7. Funkcija MonthName

Vraća niz koji pokazuje navedeni mjesec.

Sintaksa :

Naziv mjeseca(mjesec, [ skraćeno ])

Argument:

mjesec: Obavezno. Brojčani naslov mjeseca. Na primjer, januar je 1, februar 2, i tako dalje.

skraćeno: Opcionalno je. Boolean vrijednost koja pokazuje da li ime mjeseca treba biti skraćeno. Ako se preskoči, zadana vrijednost je False, što označava da naziv mjeseca nije skraćen.

Isječak koda:

5587

Izlaz:

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

8. Funkcija za dan u tjednu

Vraća Varijanta ( Integer ) koja posjeduje realan broj koji izražava dan sedmica.

Sintaksa :

Dan u tjednu (datum, [ prvi dan sedmice ])

Argument:

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

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

Argument prvi dan u sedmici ima ove postavke:

vbSunday – koristi nedjelju kao prvi dan u sedmici.

vbMonday – koristi ponedjeljak kao prvi dan u sedmici.

vbTuesday – radi utorkom kao prvi dan u sedmici.

vbWednesday – koristi srijedu kao prvi dan u sedmici.

vbThursday – radi četvrtak kao dan sedmica.

vbFriday – koristi petak kao prvi dan u sedmici.

vbSaturday – radi subotom kao prvi dan u sedmici .

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

Povratni parametri

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

1

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.