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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *