Razumijevanje funkcije Excel VBA IsDate

VBA-ova IsDate funkcija navodno vam govori može li se tekstualni niz protumačiti kao datum. Na primjer, svi sljedeći izrazi imaju vrijednost True:

IsDate(“25.5.2015.”)
IsDate ("16. siječnja")
IsDate(“12-1”)
IsDate(“12/1/15”)
IsDate(“2/30”)
IsDate(“30/2”)

U posljednja dva primjera primijetite da IsDate nije izbirljiv u pogledu redoslijeda dana i mjeseca. Oba ova niza mogu se protumačiti kao datum, pa IsDate vraća True (bez obzira na postavke formata datuma u vašem sustavu).

Evo nekih informacija iz članka Microsoftove podrške :

VBA funkcije datuma IsDate, Format, CDate i CVDate koriste funkciju koja se nalazi u OLE Automation (OleAut32.dll). Ova funkcija pretražuje sve moguće formate datuma tokenizirajući svaku od odvojenih vrijednosti u nizu koji predstavlja datum i vraća Booleovu vrijednost koja pokazuje može li se unos predstaviti kao datum.

Ovo je važno zapamtiti kada koristite funkciju za tumačenje datuma koji sadrži dvoznamenkastu godinu. Različiti lokaliteti koriste različite formate datuma (tj. mm/dd/gg, yy/mm/dd, DD MMM YY , YY MMM DD i tako dalje) i stoga funkcija pokušava znamenke na svim pozicijama dok ne funkcija je pronašla valjani datum ili je iscrpila sve mogućnosti.

Samo zato što IsDate prepoznaje niz kao datum ne znači da se niz može pouzdano pretvoriti u datum. U nekim slučajevima, rezultat je dvosmislen. Na primjer, što je s ovim izrazom?

IsDate(“29-veljače-01”)

29. veljače 2001. nije valjan datum. Međutim, ovaj izraz vraća True jer su 1. veljače 1929. (i 2. siječnja 1929.) valjani datumi. I ti isti datumi u 2029.

Potraga za dokumentacijom IsDate bila je prazna. Na temelju testiranja, IsDate prihvaća bilo koji od sljedećih znakova za razdvajanje: kosu crtu (/), crticu (-), zarez (,), točku (.) i razmak.

Stoga svi sljedeći izrazi vraćaju True:

IsDate(“5.1”)
IsDate(“30 6”)
IsDate(“30,6”)
IsDate(“1/2”)

Ali tu je i ova anomalija: Sljedeći izrazi vraćaju True:

IsDate(“5.1.5”)
IsDate(“5.1.05”)

Međutim, neeksplicitno, ovaj izraz vraća False:

IsDate(“5.1.2005”)

Pretpostavimo da ste kreirali korisnički obrazac s poljem za unos u koji korisnik unosi datum. Trebalo bi biti jasno da korištenje IsDatea za provjeru valjanosti unosa nije baš pouzdano.

Stvari postaju još zbunjujuće kada shvatite da IsDate također pokriva vremenske vrijednosti. (Ne postoji odgovarajuća funkcija IsTime.) Dakle, svi sljedeći izrazi vraćaju True:

IsDate(“4:45”)
IsDate(“4.45”)
IsDate(“4 45”)
IsDate(“4/45”)
IsDate(“23:59”)

Ovi izrazi vraćaju False:

IsDate(“4:60”)
IsDate(“24.45”)

Važno je istaknuti da IsDate ne pokazuje sve ove nedoumice kada proslijedite argument Range. Na primjer:

IsDate(Raspon(“A1”))

Čini se da je IsDate savršeno pouzdan u identificiranju ćelija koje sadrže datum ili vrijeme. Ne identificira, na primjer, ćeliju koja sadrži 5.1 kao datum. Ako vaš kod treba utvrditi može li se niz protumačiti kao datum, najbolje rješenje je staviti taj niz u ćeliju, a zatim napisati kod za provjeru sadržaja ćelije.


Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows Microsoft Word otvara datoteke u načinu rada samo za čitanje, što onemogućuje njihovo uređivanje? Ne brinite, metode su navedene u nastavku

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogreške u ispisu netočnih Microsoft Word dokumenata Pogreške u ispisu Word dokumenata s promijenjenim fontovima, neurednim odlomcima, nedostajućim tekstom ili izgubljenim sadržajem vrlo su česte. Međutim, nemojte

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Ako ste upotrijebili olovku ili marker za crtanje na PowerPoint slajdovima tijekom prezentacije, možete spremiti crteže za sljedeću prezentaciju ili ih izbrisati tako da ćete sljedeći put kada ih pokažete početi s čistim PowerPoint slajdovima. Slijedite ove upute za brisanje crteža olovkom i markerom: Brisanje linija jedan na […]

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Biblioteka stilova sadrži CSS datoteke, datoteke Extensible Stylesheet Language (XSL) i slike koje koriste unaprijed definirane glavne stranice, izgledi stranica i kontrole u SharePointu 2010. Da biste locirali CSS datoteke u biblioteci stilova web-mjesta za objavljivanje: Odaberite Radnje web-mjesta→Prikaz Sav sadržaj web-mjesta. Pojavljuje se sadržaj stranice. Knjižnica Style nalazi se u […]

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Nemojte zatrpavati svoju publiku ogromnim brojevima. U Microsoft Excelu možete poboljšati čitljivost svojih nadzornih ploča i izvješća formatiranjem brojeva tako da se prikazuju u tisućama ili milijunima.

Kako dijeliti i pratiti SharePoint web-mjesta

Kako dijeliti i pratiti SharePoint web-mjesta

Naučite kako koristiti SharePointove alate za društveno umrežavanje koji pojedincima i grupama omogućuju komunikaciju, suradnju, dijeljenje i povezivanje.

Kako pretvoriti datume u julijanske formate u Excelu

Kako pretvoriti datume u julijanske formate u Excelu

Julijanski datumi se često koriste u proizvodnim okruženjima kao vremenska oznaka i brza referenca za broj serije. Ova vrsta datumskog kodiranja omogućuje trgovcima na malo, potrošačima i uslužnim agentima da identificiraju kada je proizvod napravljen, a time i starost proizvoda. Julijanski datumi se također koriste u programiranju, vojsci i astronomiji. Drugačiji […]

Kako stvoriti Access web aplikaciju

Kako stvoriti Access web aplikaciju

Možete izraditi web-aplikaciju u Accessu 2016. Dakle, što je uopće web-aplikacija? Pa, web znači da je online, a aplikacija je samo skraćenica za "aplikaciju". Prilagođena web-aplikacija je online aplikacija baze podataka kojoj se pristupa iz oblaka pomoću preglednika. Vi gradite i održavate web-aplikaciju u verziji za stolna računala […]

Traka za brzo pokretanje u sustavu SharePoint 2010

Traka za brzo pokretanje u sustavu SharePoint 2010

Većina stranica u sustavu SharePoint 2010 prikazuje popis navigacijskih veza na traci za brzo pokretanje na lijevoj strani stranice. Traka za brzo pokretanje prikazuje veze na istaknuti sadržaj web-mjesta kao što su popisi, knjižnice, web-mjesta i stranice za objavljivanje. Traka za brzo pokretanje uključuje dvije vrlo važne veze: vezu za sav sadržaj web-mjesta: […]

Što znače poruke o greškama Solvera u Excelu?

Što znače poruke o greškama Solvera u Excelu?

Za jednostavne probleme, Solver u Excelu obično brzo pronalazi optimalne vrijednosti varijable Solvera za funkciju cilja. No, u nekim slučajevima, Solver ima problema s pronalaženjem vrijednosti varijable Solvera koje optimiziraju funkciju cilja. U tim slučajevima, Solver obično prikazuje poruku ili poruku o pogrešci koja opisuje ili raspravlja o problemu koji […]