Разбиране на функцията Excel VBA IsDate

Предполага се, че функцията IsDate на VBA ви казва дали текстов низ може да се интерпретира като дата. Например, всички от следните изрази се оценяват на True:

IsDate(„25.5.2015 г.“)
IsDate („16 януари“)
IsDate(“12-1”)
IsDate(“12/1/15”)
IsDate(„2/30“)
IsDate(“30/2”)

В последните два примера забележете, че IsDate не е придирчив към реда на деня и месеца. И двата низа могат да бъдат интерпретирани като дата, така че IsDate връща True (независимо от настройките за формат на датата в системата ви).

Ето малко информация от статия за поддръжка на Microsoft :

Функциите за дата на VBA IsDate, Format, CDate и CVDate използват функция, открита в OLE Automation (OleAut32.dll). Тази функция търси всички възможни формати за дата, като токенизира всяка от отделните стойности в низа, представляващ датата, и връща булева стойност, показваща дали входът може да бъде представен като дата.

Това е важно да запомните, когато използвате функцията за интерпретиране на дата, която съдържа 2-цифрена година. Различните локали използват различни формати за дата (тоест mm/dd/yy, yy/mm/dd, DD MMM YY , YY MMM DD и т.н.) и следователно функцията изпробва цифрите във всички позиции, докато функцията е намерила валидна дата или е изчерпала всички възможности.

Само защото IsDate разпознава низ като дата, не означава, че низът може надеждно да бъде преобразуван в дата. В някои случаи резултатът е двусмислен. Например, какво ще кажете за този израз?

IsDate(“29-фев-01”)

29 февруари 2001 г. не е валидна дата. Този израз обаче връща True, защото 1 февруари 1929 г. (и 2 януари 1929 г.) са валидни дати. И същите тези дати през 2029 г.

Търсенето на документация за IsDate се оказа празно. Въз основа на тестване, IsDate приема някое от следните като разделителни знаци: наклонена черта (/), тире (-), запетая (,), точка (.) и интервал.

Следователно всички следните изрази връщат True:

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

Но има и тази аномалия: Следните изрази връщат True:

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

Въпреки това, неясно, този израз връща False:

IsDate(„5.1.2005“)

Да предположим, че сте създали UserForm с InputBox, където потребителят въвежда дата. Трябва да е ясно, че използването на IsDate за валидиране на записа не е много надеждно.

Нещата стават още по-объркващи, когато разберете, че IsDate покрива и времеви стойности. (Няма съответна функция IsTime.) Така че всички следните изрази връщат True:

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

Тези изрази връщат False:

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

Важно е да се отбележи, че IsDate не показва всички тези странности, когато предавате аргумент Range. Например:

IsDate(Обхват(“A1”))

Изглежда, че IsDate е напълно надежден при идентифициране на клетки, които съдържат дата или час. Той например не идентифицира клетка, която съдържа 5.1 като дата. Ако вашият код трябва да определи дали низ може да се интерпретира като дата, най-доброто решение е да поставите този низ в клетка и след това да напишете код, за да проверите съдържанието на клетката.


Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]

Съдържание на библиотеката за стилове в SharePoint 2010

Съдържание на библиотеката за стилове в SharePoint 2010

Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]

Форматирайте числата в хиляди и милиони в отчети на Excel

Форматирайте числата в хиляди и милиони в отчети на Excel

Не затрупвайте аудиторията си с огромни числа. В Microsoft Excel можете да подобрите четливостта на вашите табла за управление и отчети, като форматирате числата си така, че да се показват в хиляди или милиони.

Как да споделяте и следвате сайтове на SharePoint

Как да споделяте и следвате сайтове на SharePoint

Научете как да използвате инструменти за социални мрежи на SharePoint, които позволяват на индивиди и групи да общуват, да си сътрудничат, споделят и да се свързват.

Как да конвертирате дати в юлиански формати в Excel

Как да конвертирате дати в юлиански формати в Excel

Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]

Как да създадете уеб приложение на Access

Как да създадете уеб приложение на Access

Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]

Лента за бързо стартиране в SharePoint 2010

Лента за бързо стартиране в SharePoint 2010

Повечето страници в SharePoint 2010 показват списък с връзки за навигация в лентата за бързо стартиране в лявата част на страницата. Лентата за бързо стартиране показва връзки към представено съдържание на сайта, като списъци, библиотеки, сайтове и страници за публикуване. Лентата за бързо стартиране включва две много важни връзки: Връзка към цялото съдържание на сайта: […]

Какво означават съобщенията за грешка на Solver в Excel?

Какво означават съобщенията за грешка на Solver в Excel?

За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]