Розуміння функції Excel VBA IsDate

Функція IsDate VBA нібито повідомляє вам, чи можна інтерпретувати текстовий рядок як дату. Наприклад, усі наведені нижче вирази мають значення True:

IsDate("25.05.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-значний рік. Різні локалі використовують різні формати дати (тобто мм/дд/рр, рр/мм/дд, ДД МММ РР , РР МММ ДД і так далі), тому функція намагається ввести цифри в усіх позиціях, доки не функція знайшла дійсну дату або вичерпала всі можливості.

Те, що IsDate розпізнає рядок як дату, не означає, що рядок можна надійно перетворити на дату. У деяких випадках результат неоднозначний. Наприклад, як щодо цього виразу?

IsDate(“29-Feb-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 відображають список посилань навігації на панелі швидкого запуску ліворуч. Панель швидкого запуску відображає посилання на пропонований вміст сайту, наприклад списки, бібліотеки, сайти та сторінки публікації. Панель швидкого запуску містить два дуже важливі посилання: Посилання на весь вміст сайту: […]

Що означають повідомлення про помилки розв’язувача в Excel?

Що означають повідомлення про помилки розв’язувача в Excel?

Для простих задач Solver в Excel зазвичай швидко знаходить оптимальні значення змінної Solver для цільової функції. Але в деяких випадках Solver має проблеми з пошуком значень змінної Solver, які оптимізують цільову функцію. У цих випадках Solver зазвичай відображає повідомлення або повідомлення про помилку, що описує або обговорює проблему, яка […]