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: число больше даты