Vba: як за допомогою isdate перевірити, чи є клітинка датою
Ви можете використовувати функцію IsDate у VBA, щоб перевірити, чи дана клітинка є датою.
Ця функція поверне значення True , якщо значення в даній комірці розпізнається як дата.
В іншому випадку функція поверне значення False .
Ось поширений спосіб використання цієї функції на практиці:
SubCheckDate ()
Dim i As Integer
For i = 1 To 9
If IsDate(Range(" A " & i)) = True Then
Range(" B " & i) = " Is a Date "
Else
Range(" B " & i) = " Is Not a Date "
End If
Next i
End Sub
Цей конкретний макрос перевірить, чи кожна клітинка в діапазоні A1:A9 є датою.
Якщо клітинка є датою, тоді у відповідній клітинці в діапазоні B1:B9 буде повернено значення “Є датою”.
Якщо клітинка не є датою, натомість буде повернено «Не є датою».
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати IsDate у VBA
Припустимо, у нас є наступний стовпець значень в Excel:
Припустімо, ми хочемо перевірити, чи кожна клітинка в стовпці A є датою.
Для цього ми можемо створити такий макрос:
SubCheckDate ()
Dim i As Integer
For i = 1 To 9
If IsDate(Range(" A " & i)) = True Then
Range(" B " & i) = " Is a Date "
Else
Range(" B " & i) = " Is Not a Date "
End If
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець B повідомляє нам, чи розпізнається кожна відповідна клітинка в стовпці A як дата.
Зауважте, що ми обираємо повернення «Є датою» або «Не є датою», але ви можете повернути все, що забажаєте, за допомогою оператора If Else .
Примітка . Ви можете знайти повну документацію для функції VBA IsDate тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як отримати назву місяця від дати
VBA: як використовувати функцію DateValue
VBA: число більше за дату