Это мой код:Excel-VBA: поиск ячейки с определенным значением времени
Sub FindMatchingValue()
Dim i As Integer, TimeValueToFind As Date
TimeValueToFind = "00:00:00"
Sheets("Vessels").Range("F07").ClearContents
For i = 1 To 25 '
If Sheets("Vessels").Cells(i, 1).Value = TimeValueToFind Then
MsgBox ("Found value on row " & i)
Sheets("Vessels").Range("F07").Value = Cells(i, 1).Offset(1, 1).Resize(1).Value
Exit Sub
End If
Next i
MsgBox ("Value not found in the range!")
End Sub
Этот код проверяет Столбец A в течение времени, введенного в формате хх: хх: хх И где вход и где время написано, устанавливаются как формат «Время»
Существует стол со временем с 00:00:00 до 23:00:00 в столбце A. По какой-то причине этот код будет работать только тогда, когда пытаясь найти 00:00:00, никакое другое значение времени не найдено вообще. Я не могу понять причину.
Я думал, что это может быть потому, что TimeValueToFind - это «как дата». Однако, похоже, нет «как время»? Непонятно, почему это не работает. И если это так, почему это не работает, почему 00:00:00 найдено, но ничего больше? Это простая ошибка, я готов поспорить, но помощь будет принята с благодарностью.
Для получения дополнительной информации:
Tidal Время Колонка А.
Tidal Time Tidal Height
00:00:00
01:00:00
02:00:00
03:00:00
04:00:00 4.40
05:00:00 4.00
06:00:00 3.60
07:00:00 3.20
08:00:00 2.80
09:00:00 2.40
10:00:00 2.00
11:00:00 2.37
12:00:00 2.74
13:00:00 3.11
14:00:00 3.49
15:00:00 3.86
16:00:00 4.23
17:00:00 4.60
18:00:00 4.13
19:00:00 3.67
20:00:00 3.20
21:00:00 2.73
22:00:00 2.27
23:00:00 1.80
Entirity в колонке А время. Теперь важно понять, что на какое-то время я уже пробивал себе лицо, так как для i до 25 должно было быть от 2 до 25, String Tidal Height - неправильный формат, и это стало причиной ошибки missmatch.
Проверьте, действительно ли IsDate (ячейка типа 00:00:00) возвращает значение true. –