Excel автоматически преобразует недействительные часы в действительные - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть форма Excel, которая принимает время в 24 часа как чч24: мм: сс.Я должен проверить, является ли введенное время действительным или нет.

Моя проблема заключается в том, что когда я ввожу правильное время, например 12:23:23, оно улавливает значение как есть.Но когда я ввожу неверное время, например 25:34:12, оно преобразуется в правильное время как 01:34:12.Поэтому я не могу проверить данные.

Почему это так?И как я могу предотвратить это?

Я принимаю значение в переменной как:

timeVal = Application.WorksheetFunction.Text(ActiveSheet.Range("F" & i), "hh:mm:ss")

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете использовать текст в столбцы на основе: в качестве разделителя.Затем вы можете использовать оператор IF, чтобы определить, является ли каждый раздел (или только первый) недопустимым (больше 23).

=IF(B2>23,"Invalid","Valid")

Вы также можете использовать формулу для этого.

Я бы также порекомендовал изменить формат поля времени в вашей форме, чтобы защитить целостность будущих данных.Для этого перейдите в формат> пользовательский> чч: мм: сс AM / PM.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...